<!DOCTYPE html>

<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">

<title>class Array - Rails Framework Documentation</title>

<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">

<script type="text/javascript">
  var rdoc_rel_prefix = "./";
</script>

<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>


<body id="top" class="class">
<nav id="metadata">
  <nav id="home-section" class="section">
  <h3 class="section-header">
    <a href="./index.html">Home</a>
    <a href="./table_of_contents.html#classes">Classes</a>
    <a href="./table_of_contents.html#methods">Methods</a>
  </h3>
</nav>


  <nav id="search-section" class="section project-section" class="initially-hidden">
  <form action="#" method="get" accept-charset="utf-8">
    <h3 class="section-header">
      <input type="text" name="search" placeholder="Search" id="search-field"
             title="Type to search, Up and Down to navigate, Enter to load">
    </h3>
  </form>

  <ul id="search-results" class="initially-hidden"></ul>
</nav>


  <div id="file-metadata">
    <nav id="file-list-section" class="section">
  <h3 class="section-header">Defined In</h3>
  <ul>
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/json/encoding.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/grouping.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/wrap.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/random_access.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/extract_options.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/conversions.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/prepend_and_append.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/uniq_by.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/access.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/object/blank.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/object/to_param.rb
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/object/to_query.rb
  </ul>
</nav>

    
  </div>

  <div id="class-metadata">
    
    <nav id="parent-class-section" class="section">
  <h3 class="section-header">Parent</h3>
  
  <p class="link"><a href="Object.html">Object</a>
  
</nav>

    
    <!-- Method Quickref -->
<nav id="method-list-section" class="section">
  <h3 class="section-header">Methods</h3>

  <ul class="link-list">
    
    <li><a href="#method-c-wrap">::wrap</a>
    
    <li><a href="#method-i-extract_options-21">#extract_options!</a>
    
    <li><a href="#method-i-fifth">#fifth</a>
    
    <li><a href="#method-i-forty_two">#forty_two</a>
    
    <li><a href="#method-i-fourth">#fourth</a>
    
    <li><a href="#method-i-from">#from</a>
    
    <li><a href="#method-i-in_groups">#in_groups</a>
    
    <li><a href="#method-i-in_groups_of">#in_groups_of</a>
    
    <li><a href="#method-i-sample">#sample</a>
    
    <li><a href="#method-i-second">#second</a>
    
    <li><a href="#method-i-split">#split</a>
    
    <li><a href="#method-i-third">#third</a>
    
    <li><a href="#method-i-to">#to</a>
    
    <li><a href="#method-i-to_default_s">#to_default_s</a>
    
    <li><a href="#method-i-to_formatted_s">#to_formatted_s</a>
    
    <li><a href="#method-i-to_param">#to_param</a>
    
    <li><a href="#method-i-to_query">#to_query</a>
    
    <li><a href="#method-i-to_s">#to_s</a>
    
    <li><a href="#method-i-to_sentence">#to_sentence</a>
    
    <li><a href="#method-i-to_xml">#to_xml</a>
    
    <li><a href="#method-i-uniq_by">#uniq_by</a>
    
    <li><a href="#method-i-uniq_by-21">#uniq_by!</a>
    
  </ul>
</nav>

  </div>

  <div id="project-metadata">
    <nav id="fileindex-section" class="section project-section">
  <h3 class="section-header">Pages</h3>

  <ul>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/actionmailer-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/actionmailer-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/actionpack-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/actionpack-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/activemodel-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/activemodel-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/activerecord-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/activeresource-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/activesupport-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href=".//usr/local/lib/ruby/gems/1_9_1/gems/railties-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="./README_rdoc.html">README</a>
  
  </ul>
</nav>

    <nav id="classindex-section" class="section project-section">
  <h3 class="section-header">Class and Module Index</h3>

  <ul class="link-list">
  
    <li><a href="./ActiveRecord.html">ActiveRecord</a>
  
    <li><a href="./ActiveRecord/ActiveRecordError.html">ActiveRecord::ActiveRecordError</a>
  
    <li><a href="./ActiveRecord/AdapterNotFound.html">ActiveRecord::AdapterNotFound</a>
  
    <li><a href="./ActiveRecord/AdapterNotSpecified.html">ActiveRecord::AdapterNotSpecified</a>
  
    <li><a href="./ActiveRecord/Aggregations.html">ActiveRecord::Aggregations</a>
  
    <li><a href="./ActiveRecord/Aggregations/ClassMethods.html">ActiveRecord::Aggregations::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AssociationTypeMismatch.html">ActiveRecord::AssociationTypeMismatch</a>
  
    <li><a href="./ActiveRecord/Associations.html">ActiveRecord::Associations</a>
  
    <li><a href="./ActiveRecord/Associations/ClassMethods.html">ActiveRecord::Associations::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AttributeAssignment.html">ActiveRecord::AttributeAssignment</a>
  
    <li><a href="./ActiveRecord/AttributeAssignment/ClassMethods.html">ActiveRecord::AttributeAssignment::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AttributeAssignmentError.html">ActiveRecord::AttributeAssignmentError</a>
  
    <li><a href="./ActiveRecord/AttributeMethods.html">ActiveRecord::AttributeMethods</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/BeforeTypeCast.html">ActiveRecord::AttributeMethods::BeforeTypeCast</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/ClassMethods.html">ActiveRecord::AttributeMethods::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/DeprecatedUnderscoreRead.html">ActiveRecord::AttributeMethods::DeprecatedUnderscoreRead</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/DeprecatedUnderscoreRead/ClassMethods.html">ActiveRecord::AttributeMethods::DeprecatedUnderscoreRead::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Dirty.html">ActiveRecord::AttributeMethods::Dirty</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/PrimaryKey.html">ActiveRecord::AttributeMethods::PrimaryKey</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/PrimaryKey/ClassMethods.html">ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Query.html">ActiveRecord::AttributeMethods::Query</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Read.html">ActiveRecord::AttributeMethods::Read</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Read/ClassMethods.html">ActiveRecord::AttributeMethods::Read::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Serialization.html">ActiveRecord::AttributeMethods::Serialization</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Serialization/Attribute.html">ActiveRecord::AttributeMethods::Serialization::Attribute</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Serialization/ClassMethods.html">ActiveRecord::AttributeMethods::Serialization::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/TimeZoneConversion.html">ActiveRecord::AttributeMethods::TimeZoneConversion</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/TimeZoneConversion/ClassMethods.html">ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Write.html">ActiveRecord::AttributeMethods::Write</a>
  
    <li><a href="./ActiveRecord/AttributeMethods/Write/ClassMethods.html">ActiveRecord::AttributeMethods::Write::ClassMethods</a>
  
    <li><a href="./ActiveRecord/AutosaveAssociation.html">ActiveRecord::AutosaveAssociation</a>
  
    <li><a href="./ActiveRecord/AutosaveAssociation/ClassMethods.html">ActiveRecord::AutosaveAssociation::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Base.html">ActiveRecord::Base</a>
  
    <li><a href="./ActiveRecord/Batches.html">ActiveRecord::Batches</a>
  
    <li><a href="./ActiveRecord/Calculations.html">ActiveRecord::Calculations</a>
  
    <li><a href="./ActiveRecord/Callbacks.html">ActiveRecord::Callbacks</a>
  
    <li><a href="./ActiveRecord/ConfigurationError.html">ActiveRecord::ConfigurationError</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/AbstractAdapter.html">ActiveRecord::ConnectionAdapters::AbstractAdapter</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/AbstractMysqlAdapter.html">ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/ConnectionHandler.html">ActiveRecord::ConnectionAdapters::ConnectionHandler</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/ConnectionManagement.html">ActiveRecord::ConnectionAdapters::ConnectionManagement</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/ConnectionPool.html">ActiveRecord::ConnectionAdapters::ConnectionPool</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/DatabaseLimits.html">ActiveRecord::ConnectionAdapters::DatabaseLimits</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/DatabaseStatements.html">ActiveRecord::ConnectionAdapters::DatabaseStatements</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/Mysql2Adapter.html">ActiveRecord::ConnectionAdapters::Mysql2Adapter</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/MysqlAdapter.html">ActiveRecord::ConnectionAdapters::MysqlAdapter</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/MysqlAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::MysqlAdapter::StatementPool</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/PostgreSQLAdapter.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::StatementPool</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/TableDefinition.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinition</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/Utils.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::Utils</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/PostgreSQLColumn.html">ActiveRecord::ConnectionAdapters::PostgreSQLColumn</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/QueryCache.html">ActiveRecord::ConnectionAdapters::QueryCache</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/Quoting.html">ActiveRecord::ConnectionAdapters::Quoting</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/SQLiteAdapter.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/SQLiteAdapter/ExplainPrettyPrinter.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::ExplainPrettyPrinter</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/SQLiteAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::StatementPool</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/SQLiteAdapter/Version.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::Version</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/SchemaCache.html">ActiveRecord::ConnectionAdapters::SchemaCache</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/SchemaStatements.html">ActiveRecord::ConnectionAdapters::SchemaStatements</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/StatementPool.html">ActiveRecord::ConnectionAdapters::StatementPool</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/Table.html">ActiveRecord::ConnectionAdapters::Table</a>
  
    <li><a href="./ActiveRecord/ConnectionAdapters/TableDefinition.html">ActiveRecord::ConnectionAdapters::TableDefinition</a>
  
    <li><a href="./ActiveRecord/ConnectionNotEstablished.html">ActiveRecord::ConnectionNotEstablished</a>
  
    <li><a href="./ActiveRecord/ConnectionTimeoutError.html">ActiveRecord::ConnectionTimeoutError</a>
  
    <li><a href="./ActiveRecord/CounterCache.html">ActiveRecord::CounterCache</a>
  
    <li><a href="./ActiveRecord/DangerousAttributeError.html">ActiveRecord::DangerousAttributeError</a>
  
    <li><a href="./ActiveRecord/Delegation.html">ActiveRecord::Delegation</a>
  
    <li><a href="./ActiveRecord/DynamicFinderMatch.html">ActiveRecord::DynamicFinderMatch</a>
  
    <li><a href="./ActiveRecord/DynamicMatchers.html">ActiveRecord::DynamicMatchers</a>
  
    <li><a href="./ActiveRecord/DynamicScopeMatch.html">ActiveRecord::DynamicScopeMatch</a>
  
    <li><a href="./ActiveRecord/Explain.html">ActiveRecord::Explain</a>
  
    <li><a href="./ActiveRecord/FinderMethods.html">ActiveRecord::FinderMethods</a>
  
    <li><a href="./ActiveRecord/Fixtures.html">ActiveRecord::Fixtures</a>
  
    <li><a href="./ActiveRecord/Fixtures/File.html">ActiveRecord::Fixtures::File</a>
  
    <li><a href="./ActiveRecord/IdentityMap.html">ActiveRecord::IdentityMap</a>
  
    <li><a href="./ActiveRecord/IdentityMap/Middleware.html">ActiveRecord::IdentityMap::Middleware</a>
  
    <li><a href="./ActiveRecord/Inheritance.html">ActiveRecord::Inheritance</a>
  
    <li><a href="./ActiveRecord/Inheritance/ClassMethods.html">ActiveRecord::Inheritance::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Integration.html">ActiveRecord::Integration</a>
  
    <li><a href="./ActiveRecord/InvalidForeignKey.html">ActiveRecord::InvalidForeignKey</a>
  
    <li><a href="./ActiveRecord/IrreversibleMigration.html">ActiveRecord::IrreversibleMigration</a>
  
    <li><a href="./ActiveRecord/Locking.html">ActiveRecord::Locking</a>
  
    <li><a href="./ActiveRecord/Locking/Optimistic.html">ActiveRecord::Locking::Optimistic</a>
  
    <li><a href="./ActiveRecord/Locking/Optimistic/ClassMethods.html">ActiveRecord::Locking::Optimistic::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Locking/Pessimistic.html">ActiveRecord::Locking::Pessimistic</a>
  
    <li><a href="./ActiveRecord/LogSubscriber.html">ActiveRecord::LogSubscriber</a>
  
    <li><a href="./ActiveRecord/Migration.html">ActiveRecord::Migration</a>
  
    <li><a href="./ActiveRecord/Migration/CommandRecorder.html">ActiveRecord::Migration::CommandRecorder</a>
  
    <li><a href="./ActiveRecord/MigrationProxy.html">ActiveRecord::MigrationProxy</a>
  
    <li><a href="./ActiveRecord/ModelSchema.html">ActiveRecord::ModelSchema</a>
  
    <li><a href="./ActiveRecord/ModelSchema/ClassMethods.html">ActiveRecord::ModelSchema::ClassMethods</a>
  
    <li><a href="./ActiveRecord/MultiparameterAssignmentErrors.html">ActiveRecord::MultiparameterAssignmentErrors</a>
  
    <li><a href="./ActiveRecord/NestedAttributes.html">ActiveRecord::NestedAttributes</a>
  
    <li><a href="./ActiveRecord/NestedAttributes/ClassMethods.html">ActiveRecord::NestedAttributes::ClassMethods</a>
  
    <li><a href="./ActiveRecord/NestedAttributes/TooManyRecords.html">ActiveRecord::NestedAttributes::TooManyRecords</a>
  
    <li><a href="./ActiveRecord/Observer.html">ActiveRecord::Observer</a>
  
    <li><a href="./ActiveRecord/Persistence.html">ActiveRecord::Persistence</a>
  
    <li><a href="./ActiveRecord/Persistence/ClassMethods.html">ActiveRecord::Persistence::ClassMethods</a>
  
    <li><a href="./ActiveRecord/PreparedStatementInvalid.html">ActiveRecord::PreparedStatementInvalid</a>
  
    <li><a href="./ActiveRecord/QueryCache.html">ActiveRecord::QueryCache</a>
  
    <li><a href="./ActiveRecord/QueryCache/ClassMethods.html">ActiveRecord::QueryCache::ClassMethods</a>
  
    <li><a href="./ActiveRecord/QueryMethods.html">ActiveRecord::QueryMethods</a>
  
    <li><a href="./ActiveRecord/Querying.html">ActiveRecord::Querying</a>
  
    <li><a href="./ActiveRecord/Railtie.html">ActiveRecord::Railtie</a>
  
    <li><a href="./ActiveRecord/Railties.html">ActiveRecord::Railties</a>
  
    <li><a href="./ActiveRecord/Railties/ControllerRuntime.html">ActiveRecord::Railties::ControllerRuntime</a>
  
    <li><a href="./ActiveRecord/Railties/ControllerRuntime/ClassMethods.html">ActiveRecord::Railties::ControllerRuntime::ClassMethods</a>
  
    <li><a href="./ActiveRecord/ReadOnlyRecord.html">ActiveRecord::ReadOnlyRecord</a>
  
    <li><a href="./ActiveRecord/ReadonlyAttributes.html">ActiveRecord::ReadonlyAttributes</a>
  
    <li><a href="./ActiveRecord/ReadonlyAttributes/ClassMethods.html">ActiveRecord::ReadonlyAttributes::ClassMethods</a>
  
    <li><a href="./ActiveRecord/RecordInvalid.html">ActiveRecord::RecordInvalid</a>
  
    <li><a href="./ActiveRecord/RecordNotFound.html">ActiveRecord::RecordNotFound</a>
  
    <li><a href="./ActiveRecord/RecordNotSaved.html">ActiveRecord::RecordNotSaved</a>
  
    <li><a href="./ActiveRecord/RecordNotUnique.html">ActiveRecord::RecordNotUnique</a>
  
    <li><a href="./ActiveRecord/Reflection.html">ActiveRecord::Reflection</a>
  
    <li><a href="./ActiveRecord/Reflection/ClassMethods.html">ActiveRecord::Reflection::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Reflection/MacroReflection.html">ActiveRecord::Reflection::MacroReflection</a>
  
    <li><a href="./ActiveRecord/Relation.html">ActiveRecord::Relation</a>
  
    <li><a href="./ActiveRecord/Result.html">ActiveRecord::Result</a>
  
    <li><a href="./ActiveRecord/Rollback.html">ActiveRecord::Rollback</a>
  
    <li><a href="./ActiveRecord/Sanitization.html">ActiveRecord::Sanitization</a>
  
    <li><a href="./ActiveRecord/Sanitization/ClassMethods.html">ActiveRecord::Sanitization::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Schema.html">ActiveRecord::Schema</a>
  
    <li><a href="./ActiveRecord/Scoping.html">ActiveRecord::Scoping</a>
  
    <li><a href="./ActiveRecord/Scoping/ClassMethods.html">ActiveRecord::Scoping::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Scoping/Default.html">ActiveRecord::Scoping::Default</a>
  
    <li><a href="./ActiveRecord/Scoping/Default/ClassMethods.html">ActiveRecord::Scoping::Default::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Scoping/Named.html">ActiveRecord::Scoping::Named</a>
  
    <li><a href="./ActiveRecord/Scoping/Named/ClassMethods.html">ActiveRecord::Scoping::Named::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Serialization.html">ActiveRecord::Serialization</a>
  
    <li><a href="./ActiveRecord/SerializationTypeMismatch.html">ActiveRecord::SerializationTypeMismatch</a>
  
    <li><a href="./ActiveRecord/SessionStore.html">ActiveRecord::SessionStore</a>
  
    <li><a href="./ActiveRecord/SessionStore/Session.html">ActiveRecord::SessionStore::Session</a>
  
    <li><a href="./ActiveRecord/SessionStore/SqlBypass.html">ActiveRecord::SessionStore::SqlBypass</a>
  
    <li><a href="./ActiveRecord/SpawnMethods.html">ActiveRecord::SpawnMethods</a>
  
    <li><a href="./ActiveRecord/StaleObjectError.html">ActiveRecord::StaleObjectError</a>
  
    <li><a href="./ActiveRecord/StatementInvalid.html">ActiveRecord::StatementInvalid</a>
  
    <li><a href="./ActiveRecord/Store.html">ActiveRecord::Store</a>
  
    <li><a href="./ActiveRecord/Store/ClassMethods.html">ActiveRecord::Store::ClassMethods</a>
  
    <li><a href="./ActiveRecord/TestFixtures.html">ActiveRecord::TestFixtures</a>
  
    <li><a href="./ActiveRecord/TestFixtures/ClassMethods.html">ActiveRecord::TestFixtures::ClassMethods</a>
  
    <li><a href="./ActiveRecord/ThrowResult.html">ActiveRecord::ThrowResult</a>
  
    <li><a href="./ActiveRecord/Timestamp.html">ActiveRecord::Timestamp</a>
  
    <li><a href="./ActiveRecord/Transactions.html">ActiveRecord::Transactions</a>
  
    <li><a href="./ActiveRecord/Transactions/ClassMethods.html">ActiveRecord::Transactions::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Translation.html">ActiveRecord::Translation</a>
  
    <li><a href="./ActiveRecord/UnknownAttributeError.html">ActiveRecord::UnknownAttributeError</a>
  
    <li><a href="./ActiveRecord/UnknownPrimaryKey.html">ActiveRecord::UnknownPrimaryKey</a>
  
    <li><a href="./ActiveRecord/Validations.html">ActiveRecord::Validations</a>
  
    <li><a href="./ActiveRecord/Validations/AssociatedValidator.html">ActiveRecord::Validations::AssociatedValidator</a>
  
    <li><a href="./ActiveRecord/Validations/ClassMethods.html">ActiveRecord::Validations::ClassMethods</a>
  
    <li><a href="./ActiveRecord/Validations/UniquenessValidator.html">ActiveRecord::Validations::UniquenessValidator</a>
  
    <li><a href="./ActiveRecord/WrappedDatabaseException.html">ActiveRecord::WrappedDatabaseException</a>
  
    <li><a href="./ActiveSupport.html">ActiveSupport</a>
  
    <li><a href="./ActiveSupport/Autoload.html">ActiveSupport::Autoload</a>
  
    <li><a href="./ActiveSupport/BacktraceCleaner.html">ActiveSupport::BacktraceCleaner</a>
  
    <li><a href="./ActiveSupport/Base64.html">ActiveSupport::Base64</a>
  
    <li><a href="./ActiveSupport/BasicObject.html">ActiveSupport::BasicObject</a>
  
    <li><a href="./ActiveSupport/Benchmarkable.html">ActiveSupport::Benchmarkable</a>
  
    <li><a href="./ActiveSupport/BufferedLogger.html">ActiveSupport::BufferedLogger</a>
  
    <li><a href="./ActiveSupport/BufferedLogger/Severity.html">ActiveSupport::BufferedLogger::Severity</a>
  
    <li><a href="./ActiveSupport/Cache.html">ActiveSupport::Cache</a>
  
    <li><a href="./ActiveSupport/Cache/Entry.html">ActiveSupport::Cache::Entry</a>
  
    <li><a href="./ActiveSupport/Cache/FileStore.html">ActiveSupport::Cache::FileStore</a>
  
    <li><a href="./ActiveSupport/Cache/MemCacheStore.html">ActiveSupport::Cache::MemCacheStore</a>
  
    <li><a href="./ActiveSupport/Cache/MemoryStore.html">ActiveSupport::Cache::MemoryStore</a>
  
    <li><a href="./ActiveSupport/Cache/NullStore.html">ActiveSupport::Cache::NullStore</a>
  
    <li><a href="./ActiveSupport/Cache/Store.html">ActiveSupport::Cache::Store</a>
  
    <li><a href="./ActiveSupport/Cache/Strategy.html">ActiveSupport::Cache::Strategy</a>
  
    <li><a href="./ActiveSupport/Cache/Strategy/LocalCache.html">ActiveSupport::Cache::Strategy::LocalCache</a>
  
    <li><a href="./ActiveSupport/Cache/Strategy/LocalCache/LocalStore.html">ActiveSupport::Cache::Strategy::LocalCache::LocalStore</a>
  
    <li><a href="./ActiveSupport/Callbacks.html">ActiveSupport::Callbacks</a>
  
    <li><a href="./ActiveSupport/Callbacks/ClassMethods.html">ActiveSupport::Callbacks::ClassMethods</a>
  
    <li><a href="./ActiveSupport/Concern.html">ActiveSupport::Concern</a>
  
    <li><a href="./ActiveSupport/Configurable.html">ActiveSupport::Configurable</a>
  
    <li><a href="./ActiveSupport/Configurable/ClassMethods.html">ActiveSupport::Configurable::ClassMethods</a>
  
    <li><a href="./ActiveSupport/Configurable/Configuration.html">ActiveSupport::Configurable::Configuration</a>
  
    <li><a href="./ActiveSupport/Dependencies.html">ActiveSupport::Dependencies</a>
  
    <li><a href="./ActiveSupport/Dependencies/ClassCache.html">ActiveSupport::Dependencies::ClassCache</a>
  
    <li><a href="./ActiveSupport/Dependencies/WatchStack.html">ActiveSupport::Dependencies::WatchStack</a>
  
    <li><a href="./ActiveSupport/Deprecation.html">ActiveSupport::Deprecation</a>
  
    <li><a href="./ActiveSupport/DescendantsTracker.html">ActiveSupport::DescendantsTracker</a>
  
    <li><a href="./ActiveSupport/Duration.html">ActiveSupport::Duration</a>
  
    <li><a href="./ActiveSupport/FileUpdateChecker.html">ActiveSupport::FileUpdateChecker</a>
  
    <li><a href="./ActiveSupport/FileWatcher.html">ActiveSupport::FileWatcher</a>
  
    <li><a href="./ActiveSupport/FileWatcher/Backend.html">ActiveSupport::FileWatcher::Backend</a>
  
    <li><a href="./ActiveSupport/Gzip.html">ActiveSupport::Gzip</a>
  
    <li><a href="./ActiveSupport/Gzip/Stream.html">ActiveSupport::Gzip::Stream</a>
  
    <li><a href="./ActiveSupport/HashWithIndifferentAccess.html">ActiveSupport::HashWithIndifferentAccess</a>
  
    <li><a href="./ActiveSupport/HashWithIndifferentAccess.html">ActiveSupport::HashWithIndifferentAccess</a>
  
    <li><a href="./ActiveSupport/Inflector.html">ActiveSupport::Inflector</a>
  
    <li><a href="./ActiveSupport/Inflector/Inflections.html">ActiveSupport::Inflector::Inflections</a>
  
    <li><a href="./ActiveSupport/InheritableOptions.html">ActiveSupport::InheritableOptions</a>
  
    <li><a href="./ActiveSupport/JSON.html">ActiveSupport::JSON</a>
  
    <li><a href="./ActiveSupport/JSON/Encoding.html">ActiveSupport::JSON::Encoding</a>
  
    <li><a href="./ActiveSupport/JSON/Encoding/CircularReferenceError.html">ActiveSupport::JSON::Encoding::CircularReferenceError</a>
  
    <li><a href="./ActiveSupport/JSON/Encoding/Encoder.html">ActiveSupport::JSON::Encoding::Encoder</a>
  
    <li><a href="./ActiveSupport/JSON/Variable.html">ActiveSupport::JSON::Variable</a>
  
    <li><a href="./ActiveSupport/LogSubscriber.html">ActiveSupport::LogSubscriber</a>
  
    <li><a href="./ActiveSupport/LogSubscriber/TestHelper.html">ActiveSupport::LogSubscriber::TestHelper</a>
  
    <li><a href="./ActiveSupport/LogSubscriber/TestHelper/MockLogger.html">ActiveSupport::LogSubscriber::TestHelper::MockLogger</a>
  
    <li><a href="./ActiveSupport/Memoizable.html">ActiveSupport::Memoizable</a>
  
    <li><a href="./ActiveSupport/Memoizable/InstanceMethods.html">ActiveSupport::Memoizable::InstanceMethods</a>
  
    <li><a href="./ActiveSupport/MessageEncryptor.html">ActiveSupport::MessageEncryptor</a>
  
    <li><a href="./ActiveSupport/MessageEncryptor/InvalidMessage.html">ActiveSupport::MessageEncryptor::InvalidMessage</a>
  
    <li><a href="./ActiveSupport/MessageVerifier.html">ActiveSupport::MessageVerifier</a>
  
    <li><a href="./ActiveSupport/MessageVerifier/InvalidSignature.html">ActiveSupport::MessageVerifier::InvalidSignature</a>
  
    <li><a href="./ActiveSupport/Multibyte.html">ActiveSupport::Multibyte</a>
  
    <li><a href="./ActiveSupport/Multibyte/Chars.html">ActiveSupport::Multibyte::Chars</a>
  
    <li><a href="./ActiveSupport/Multibyte/EncodingError.html">ActiveSupport::Multibyte::EncodingError</a>
  
    <li><a href="./ActiveSupport/Multibyte/Unicode.html">ActiveSupport::Multibyte::Unicode</a>
  
    <li><a href="./ActiveSupport/Multibyte/Unicode/Codepoint.html">ActiveSupport::Multibyte::Unicode::Codepoint</a>
  
    <li><a href="./ActiveSupport/Multibyte/Unicode/UnicodeDatabase.html">ActiveSupport::Multibyte::Unicode::UnicodeDatabase</a>
  
    <li><a href="./ActiveSupport/Notifications.html">ActiveSupport::Notifications</a>
  
    <li><a href="./ActiveSupport/Notifications/Event.html">ActiveSupport::Notifications::Event</a>
  
    <li><a href="./ActiveSupport/Notifications/Fanout.html">ActiveSupport::Notifications::Fanout</a>
  
    <li><a href="./ActiveSupport/Notifications/Instrumenter.html">ActiveSupport::Notifications::Instrumenter</a>
  
    <li><a href="./ActiveSupport/OrderedHash.html">ActiveSupport::OrderedHash</a>
  
    <li><a href="./ActiveSupport/OrderedOptions.html">ActiveSupport::OrderedOptions</a>
  
    <li><a href="./ActiveSupport/Railtie.html">ActiveSupport::Railtie</a>
  
    <li><a href="./ActiveSupport/Rescuable.html">ActiveSupport::Rescuable</a>
  
    <li><a href="./ActiveSupport/Rescuable/ClassMethods.html">ActiveSupport::Rescuable::ClassMethods</a>
  
    <li><a href="./ActiveSupport/SafeBuffer.html">ActiveSupport::SafeBuffer</a>
  
    <li><a href="./ActiveSupport/SafeBuffer/SafeConcatError.html">ActiveSupport::SafeBuffer::SafeConcatError</a>
  
    <li><a href="./ActiveSupport/StringInquirer.html">ActiveSupport::StringInquirer</a>
  
    <li><a href="./ActiveSupport/TaggedLogging.html">ActiveSupport::TaggedLogging</a>
  
    <li><a href="./ActiveSupport/TestCase.html">ActiveSupport::TestCase</a>
  
    <li><a href="./ActiveSupport/Testing.html">ActiveSupport::Testing</a>
  
    <li><a href="./ActiveSupport/Testing/Assertions.html">ActiveSupport::Testing::Assertions</a>
  
    <li><a href="./ActiveSupport/Testing/Declarative.html">ActiveSupport::Testing::Declarative</a>
  
    <li><a href="./ActiveSupport/Testing/Isolation.html">ActiveSupport::Testing::Isolation</a>
  
    <li><a href="./ActiveSupport/Testing/Isolation/Forking.html">ActiveSupport::Testing::Isolation::Forking</a>
  
    <li><a href="./ActiveSupport/Testing/Isolation/MiniTest.html">ActiveSupport::Testing::Isolation::MiniTest</a>
  
    <li><a href="./ActiveSupport/Testing/Isolation/Subprocess.html">ActiveSupport::Testing::Isolation::Subprocess</a>
  
    <li><a href="./ActiveSupport/Testing/Isolation/TestUnit.html">ActiveSupport::Testing::Isolation::TestUnit</a>
  
    <li><a href="./ActiveSupport/Testing/Pending.html">ActiveSupport::Testing::Pending</a>
  
    <li><a href="./ActiveSupport/Testing/Performance.html">ActiveSupport::Testing::Performance</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Benchmarker.html">ActiveSupport::Testing::Performance::Benchmarker</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/ForClassicTestUnit.html">ActiveSupport::Testing::Performance::ForClassicTestUnit</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/ForMiniTest.html">ActiveSupport::Testing::Performance::ForMiniTest</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics.html">ActiveSupport::Testing::Performance::Metrics</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/Amount.html">ActiveSupport::Testing::Performance::Metrics::Amount</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/Base.html">ActiveSupport::Testing::Performance::Metrics::Base</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/CpuTime.html">ActiveSupport::Testing::Performance::Metrics::CpuTime</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/DigitalInformationUnit.html">ActiveSupport::Testing::Performance::Metrics::DigitalInformationUnit</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/GcRuns.html">ActiveSupport::Testing::Performance::Metrics::GcRuns</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/GcTime.html">ActiveSupport::Testing::Performance::Metrics::GcTime</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/Memory.html">ActiveSupport::Testing::Performance::Metrics::Memory</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/Objects.html">ActiveSupport::Testing::Performance::Metrics::Objects</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/ProcessTime.html">ActiveSupport::Testing::Performance::Metrics::ProcessTime</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/Time.html">ActiveSupport::Testing::Performance::Metrics::Time</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/UserTime.html">ActiveSupport::Testing::Performance::Metrics::UserTime</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Metrics/WallTime.html">ActiveSupport::Testing::Performance::Metrics::WallTime</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Performer.html">ActiveSupport::Testing::Performance::Performer</a>
  
    <li><a href="./ActiveSupport/Testing/Performance/Profiler.html">ActiveSupport::Testing::Performance::Profiler</a>
  
    <li><a href="./ActiveSupport/Testing/ProxyTestResult.html">ActiveSupport::Testing::ProxyTestResult</a>
  
    <li><a href="./ActiveSupport/Testing/RemoteError.html">ActiveSupport::Testing::RemoteError</a>
  
    <li><a href="./ActiveSupport/Testing/SetupAndTeardown.html">ActiveSupport::Testing::SetupAndTeardown</a>
  
    <li><a href="./ActiveSupport/Testing/SetupAndTeardown/ClassMethods.html">ActiveSupport::Testing::SetupAndTeardown::ClassMethods</a>
  
    <li><a href="./ActiveSupport/Testing/SetupAndTeardown/ForClassicTestUnit.html">ActiveSupport::Testing::SetupAndTeardown::ForClassicTestUnit</a>
  
    <li><a href="./ActiveSupport/Testing/SetupAndTeardown/ForMiniTest.html">ActiveSupport::Testing::SetupAndTeardown::ForMiniTest</a>
  
    <li><a href="./ActiveSupport/TimeWithZone.html">ActiveSupport::TimeWithZone</a>
  
    <li><a href="./ActiveSupport/TimeZone.html">ActiveSupport::TimeZone</a>
  
    <li><a href="./ActiveSupport/XmlMini.html">ActiveSupport::XmlMini</a>
  
    <li><a href="./ActiveSupport/XmlMini_LibXMLSAX.html">ActiveSupport::XmlMini_LibXMLSAX</a>
  
    <li><a href="./ActiveSupport/XmlMini_LibXMLSAX/HashBuilder.html">ActiveSupport::XmlMini_LibXMLSAX::HashBuilder</a>
  
    <li><a href="./ActiveSupport/XmlMini_NokogiriSAX.html">ActiveSupport::XmlMini_NokogiriSAX</a>
  
    <li><a href="./ActiveSupport/XmlMini_NokogiriSAX/HashBuilder.html">ActiveSupport::XmlMini_NokogiriSAX::HashBuilder</a>
  
    <li><a href="./ActionController.html">ActionController</a>
  
    <li><a href="./ActionController/Base.html">ActionController::Base</a>
  
    <li><a href="./ActionController/Caching.html">ActionController::Caching</a>
  
    <li><a href="./ActionController/Caching/Actions.html">ActionController::Caching::Actions</a>
  
    <li><a href="./ActionController/Caching/Actions/ActionCachePath.html">ActionController::Caching::Actions::ActionCachePath</a>
  
    <li><a href="./ActionController/Caching/Actions/ClassMethods.html">ActionController::Caching::Actions::ClassMethods</a>
  
    <li><a href="./ActionController/Caching/ConfigMethods.html">ActionController::Caching::ConfigMethods</a>
  
    <li><a href="./ActionController/Caching/Fragments.html">ActionController::Caching::Fragments</a>
  
    <li><a href="./ActionController/Caching/Pages.html">ActionController::Caching::Pages</a>
  
    <li><a href="./ActionController/Caching/Pages/ClassMethods.html">ActionController::Caching::Pages::ClassMethods</a>
  
    <li><a href="./ActionController/Caching/Sweeping.html">ActionController::Caching::Sweeping</a>
  
    <li><a href="./ActionController/Compatibility.html">ActionController::Compatibility</a>
  
    <li><a href="./ActionController/ConditionalGet.html">ActionController::ConditionalGet</a>
  
    <li><a href="./ActionController/Cookies.html">ActionController::Cookies</a>
  
    <li><a href="./ActionController/DataStreaming.html">ActionController::DataStreaming</a>
  
    <li><a href="./ActionController/Flash.html">ActionController::Flash</a>
  
    <li><a href="./ActionController/ForceSSL.html">ActionController::ForceSSL</a>
  
    <li><a href="./ActionController/ForceSSL/ClassMethods.html">ActionController::ForceSSL::ClassMethods</a>
  
    <li><a href="./ActionController/Head.html">ActionController::Head</a>
  
    <li><a href="./ActionController/Helpers.html">ActionController::Helpers</a>
  
    <li><a href="./ActionController/Helpers/ClassMethods.html">ActionController::Helpers::ClassMethods</a>
  
    <li><a href="./ActionController/HideActions.html">ActionController::HideActions</a>
  
    <li><a href="./ActionController/HideActions/ClassMethods.html">ActionController::HideActions::ClassMethods</a>
  
    <li><a href="./ActionController/HttpAuthentication.html">ActionController::HttpAuthentication</a>
  
    <li><a href="./ActionController/HttpAuthentication/Basic.html">ActionController::HttpAuthentication::Basic</a>
  
    <li><a href="./ActionController/HttpAuthentication/Basic/ControllerMethods.html">ActionController::HttpAuthentication::Basic::ControllerMethods</a>
  
    <li><a href="./ActionController/HttpAuthentication/Basic/ControllerMethods/ClassMethods.html">ActionController::HttpAuthentication::Basic::ControllerMethods::ClassMethods</a>
  
    <li><a href="./ActionController/HttpAuthentication/Digest.html">ActionController::HttpAuthentication::Digest</a>
  
    <li><a href="./ActionController/HttpAuthentication/Digest/ControllerMethods.html">ActionController::HttpAuthentication::Digest::ControllerMethods</a>
  
    <li><a href="./ActionController/HttpAuthentication/Token.html">ActionController::HttpAuthentication::Token</a>
  
    <li><a href="./ActionController/HttpAuthentication/Token/ControllerMethods.html">ActionController::HttpAuthentication::Token::ControllerMethods</a>
  
    <li><a href="./ActionController/ImplicitRender.html">ActionController::ImplicitRender</a>
  
    <li><a href="./ActionController/Instrumentation.html">ActionController::Instrumentation</a>
  
    <li><a href="./ActionController/Instrumentation/ClassMethods.html">ActionController::Instrumentation::ClassMethods</a>
  
    <li><a href="./ActionController/LogSubscriber.html">ActionController::LogSubscriber</a>
  
    <li><a href="./ActionController/Metal.html">ActionController::Metal</a>
  
    <li><a href="./ActionController/Middleware.html">ActionController::Middleware</a>
  
    <li><a href="./ActionController/Middleware/ActionMiddleware.html">ActionController::Middleware::ActionMiddleware</a>
  
    <li><a href="./ActionController/MimeResponds.html">ActionController::MimeResponds</a>
  
    <li><a href="./ActionController/MimeResponds/ClassMethods.html">ActionController::MimeResponds::ClassMethods</a>
  
    <li><a href="./ActionController/ParamsWrapper.html">ActionController::ParamsWrapper</a>
  
    <li><a href="./ActionController/ParamsWrapper/ClassMethods.html">ActionController::ParamsWrapper::ClassMethods</a>
  
    <li><a href="./ActionController/RackDelegation.html">ActionController::RackDelegation</a>
  
    <li><a href="./ActionController/Railtie.html">ActionController::Railtie</a>
  
    <li><a href="./ActionController/Railties.html">ActionController::Railties</a>
  
    <li><a href="./ActionController/Railties/Paths.html">ActionController::Railties::Paths</a>
  
    <li><a href="./ActionController/RecordIdentifier.html">ActionController::RecordIdentifier</a>
  
    <li><a href="./ActionController/Redirecting.html">ActionController::Redirecting</a>
  
    <li><a href="./ActionController/Renderers.html">ActionController::Renderers</a>
  
    <li><a href="./ActionController/Renderers/All.html">ActionController::Renderers::All</a>
  
    <li><a href="./ActionController/Renderers/ClassMethods.html">ActionController::Renderers::ClassMethods</a>
  
    <li><a href="./ActionController/Rendering.html">ActionController::Rendering</a>
  
    <li><a href="./ActionController/RequestForgeryProtection.html">ActionController::RequestForgeryProtection</a>
  
    <li><a href="./ActionController/RequestForgeryProtection/ClassMethods.html">ActionController::RequestForgeryProtection::ClassMethods</a>
  
    <li><a href="./ActionController/Rescue.html">ActionController::Rescue</a>
  
    <li><a href="./ActionController/Responder.html">ActionController::Responder</a>
  
    <li><a href="./ActionController/SessionManagement.html">ActionController::SessionManagement</a>
  
    <li><a href="./ActionController/SessionManagement/ClassMethods.html">ActionController::SessionManagement::ClassMethods</a>
  
    <li><a href="./ActionController/Streaming.html">ActionController::Streaming</a>
  
    <li><a href="./ActionController/TemplateAssertions.html">ActionController::TemplateAssertions</a>
  
    <li><a href="./ActionController/TestCase.html">ActionController::TestCase</a>
  
    <li><a href="./ActionController/TestCase/Behavior.html">ActionController::TestCase::Behavior</a>
  
    <li><a href="./ActionController/TestCase/Behavior/ClassMethods.html">ActionController::TestCase::Behavior::ClassMethods</a>
  
    <li><a href="./ActionController/TestCase/RaiseActionExceptions.html">ActionController::TestCase::RaiseActionExceptions</a>
  
    <li><a href="./ActionController/TestResponse.html">ActionController::TestResponse</a>
  
    <li><a href="./ActionController/Testing.html">ActionController::Testing</a>
  
    <li><a href="./ActionController/Testing/ClassMethods.html">ActionController::Testing::ClassMethods</a>
  
    <li><a href="./ActionController/UrlFor.html">ActionController::UrlFor</a>
  
    <li><a href="./ActionView.html">ActionView</a>
  
    <li><a href="./ActionView/ActionView.html">ActionView::ActionView</a>
  
    <li><a href="./ActionView/ActionView/ActionView.html">ActionView::ActionView::ActionView</a>
  
    <li><a href="./ActionView/ActionView/ActionView/Base.html">ActionView::ActionView::ActionView::Base</a>
  
    <li><a href="./ActionView/Base.html">ActionView::Base</a>
  
    <li><a href="./ActionView/Context.html">ActionView::Context</a>
  
    <li><a href="./ActionView/FileSystemResolver.html">ActionView::FileSystemResolver</a>
  
    <li><a href="./ActionView/FixtureResolver.html">ActionView::FixtureResolver</a>
  
    <li><a href="./ActionView/Helpers.html">ActionView::Helpers</a>
  
    <li><a href="./ActionView/Helpers/ActiveModelHelper.html">ActionView::Helpers::ActiveModelHelper</a>
  
    <li><a href="./ActionView/Helpers/ActiveModelInstanceTag.html">ActionView::Helpers::ActiveModelInstanceTag</a>
  
    <li><a href="./ActionView/Helpers/AssetTagHelper.html">ActionView::Helpers::AssetTagHelper</a>
  
    <li><a href="./ActionView/Helpers/AssetTagHelper/AssetIncludeTag.html">ActionView::Helpers::AssetTagHelper::AssetIncludeTag</a>
  
    <li><a href="./ActionView/Helpers/AssetTagHelper/JavascriptIncludeTag.html">ActionView::Helpers::AssetTagHelper::JavascriptIncludeTag</a>
  
    <li><a href="./ActionView/Helpers/AssetTagHelper/JavascriptTagHelpers.html">ActionView::Helpers::AssetTagHelper::JavascriptTagHelpers</a>
  
    <li><a href="./ActionView/Helpers/AssetTagHelper/JavascriptTagHelpers/ClassMethods.html">ActionView::Helpers::AssetTagHelper::JavascriptTagHelpers::ClassMethods</a>
  
    <li><a href="./ActionView/Helpers/AssetTagHelper/StylesheetIncludeTag.html">ActionView::Helpers::AssetTagHelper::StylesheetIncludeTag</a>
  
    <li><a href="./ActionView/Helpers/AssetTagHelper/StylesheetTagHelpers.html">ActionView::Helpers::AssetTagHelper::StylesheetTagHelpers</a>
  
    <li><a href="./ActionView/Helpers/AssetTagHelper/StylesheetTagHelpers/ClassMethods.html">ActionView::Helpers::AssetTagHelper::StylesheetTagHelpers::ClassMethods</a>
  
    <li><a href="./ActionView/Helpers/AtomFeedHelper.html">ActionView::Helpers::AtomFeedHelper</a>
  
    <li><a href="./ActionView/Helpers/AtomFeedHelper/AtomBuilder.html">ActionView::Helpers::AtomFeedHelper::AtomBuilder</a>
  
    <li><a href="./ActionView/Helpers/AtomFeedHelper/AtomFeedBuilder.html">ActionView::Helpers::AtomFeedHelper::AtomFeedBuilder</a>
  
    <li><a href="./ActionView/Helpers/CacheHelper.html">ActionView::Helpers::CacheHelper</a>
  
    <li><a href="./ActionView/Helpers/CaptureHelper.html">ActionView::Helpers::CaptureHelper</a>
  
    <li><a href="./ActionView/Helpers/CsrfHelper.html">ActionView::Helpers::CsrfHelper</a>
  
    <li><a href="./ActionView/Helpers/DateHelper.html">ActionView::Helpers::DateHelper</a>
  
    <li><a href="./ActionView/Helpers/DateHelperInstanceTag.html">ActionView::Helpers::DateHelperInstanceTag</a>
  
    <li><a href="./ActionView/Helpers/DebugHelper.html">ActionView::Helpers::DebugHelper</a>
  
    <li><a href="./ActionView/Helpers/FormBuilder.html">ActionView::Helpers::FormBuilder</a>
  
    <li><a href="./ActionView/Helpers/FormHelper.html">ActionView::Helpers::FormHelper</a>
  
    <li><a href="./ActionView/Helpers/FormOptionsHelper.html">ActionView::Helpers::FormOptionsHelper</a>
  
    <li><a href="./ActionView/Helpers/FormTagHelper.html">ActionView::Helpers::FormTagHelper</a>
  
    <li><a href="./ActionView/Helpers/InstanceTag.html">ActionView::Helpers::InstanceTag</a>
  
    <li><a href="./ActionView/Helpers/JavaScriptHelper.html">ActionView::Helpers::JavaScriptHelper</a>
  
    <li><a href="./ActionView/Helpers/NumberHelper.html">ActionView::Helpers::NumberHelper</a>
  
    <li><a href="./ActionView/Helpers/NumberHelper/InvalidNumberError.html">ActionView::Helpers::NumberHelper::InvalidNumberError</a>
  
    <li><a href="./ActionView/Helpers/OutputSafetyHelper.html">ActionView::Helpers::OutputSafetyHelper</a>
  
    <li><a href="./ActionView/Helpers/RecordTagHelper.html">ActionView::Helpers::RecordTagHelper</a>
  
    <li><a href="./ActionView/Helpers/RenderingHelper.html">ActionView::Helpers::RenderingHelper</a>
  
    <li><a href="./ActionView/Helpers/SanitizeHelper.html">ActionView::Helpers::SanitizeHelper</a>
  
    <li><a href="./ActionView/Helpers/TagHelper.html">ActionView::Helpers::TagHelper</a>
  
    <li><a href="./ActionView/Helpers/TextHelper.html">ActionView::Helpers::TextHelper</a>
  
    <li><a href="./ActionView/Helpers/TranslationHelper.html">ActionView::Helpers::TranslationHelper</a>
  
    <li><a href="./ActionView/Helpers/UrlHelper.html">ActionView::Helpers::UrlHelper</a>
  
    <li><a href="./ActionView/LogSubscriber.html">ActionView::LogSubscriber</a>
  
    <li><a href="./ActionView/LookupContext.html">ActionView::LookupContext</a>
  
    <li><a href="./ActionView/LookupContext/DetailsCache.html">ActionView::LookupContext::DetailsCache</a>
  
    <li><a href="./ActionView/LookupContext/ViewPaths.html">ActionView::LookupContext::ViewPaths</a>
  
    <li><a href="./ActionView/NullResolver.html">ActionView::NullResolver</a>
  
    <li><a href="./ActionView/PartialRenderer.html">ActionView::PartialRenderer</a>
  
    <li><a href="./ActionView/Railtie.html">ActionView::Railtie</a>
  
    <li><a href="./ActionView/Renderer.html">ActionView::Renderer</a>
  
    <li><a href="./ActionView/Resolver.html">ActionView::Resolver</a>
  
    <li><a href="./ActionView/Resolver/Path.html">ActionView::Resolver::Path</a>
  
    <li><a href="./ActionView/Template.html">ActionView::Template</a>
  
    <li><a href="./ActionView/Template/Handlers.html">ActionView::Template::Handlers</a>
  
    <li><a href="./ActionView/Template/Handlers/Builder.html">ActionView::Template::Handlers::Builder</a>
  
    <li><a href="./ActionView/Template/Handlers/ERB.html">ActionView::Template::Handlers::ERB</a>
  
    <li><a href="./ActionView/Template/Handlers/Erubis.html">ActionView::Template::Handlers::Erubis</a>
  
    <li><a href="./ActionView/TestCase.html">ActionView::TestCase</a>
  
    <li><a href="./ActionView/TestCase/Behavior.html">ActionView::TestCase::Behavior</a>
  
    <li><a href="./ActionView/TestCase/Behavior/ClassMethods.html">ActionView::TestCase::Behavior::ClassMethods</a>
  
    <li><a href="./ActionView/TestCase/Behavior/Locals.html">ActionView::TestCase::Behavior::Locals</a>
  
    <li><a href="./ActionView/TestCase/TestController.html">ActionView::TestCase::TestController</a>
  
    <li><a href="./ActiveModel.html">ActiveModel</a>
  
    <li><a href="./ActiveModel/AttributeMethods.html">ActiveModel::AttributeMethods</a>
  
    <li><a href="./ActiveModel/AttributeMethods/ClassMethods.html">ActiveModel::AttributeMethods::ClassMethods</a>
  
    <li><a href="./ActiveModel/AttributeMethods/ClassMethods/AttributeMethodMatcher.html">ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher</a>
  
    <li><a href="./ActiveModel/BlockValidator.html">ActiveModel::BlockValidator</a>
  
    <li><a href="./ActiveModel/Callbacks.html">ActiveModel::Callbacks</a>
  
    <li><a href="./ActiveModel/Conversion.html">ActiveModel::Conversion</a>
  
    <li><a href="./ActiveModel/Dirty.html">ActiveModel::Dirty</a>
  
    <li><a href="./ActiveModel/EachValidator.html">ActiveModel::EachValidator</a>
  
    <li><a href="./ActiveModel/Errors.html">ActiveModel::Errors</a>
  
    <li><a href="./ActiveModel/Lint.html">ActiveModel::Lint</a>
  
    <li><a href="./ActiveModel/Lint/Tests.html">ActiveModel::Lint::Tests</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity.html">ActiveModel::MassAssignmentSecurity</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity/BlackList.html">ActiveModel::MassAssignmentSecurity::BlackList</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity/ClassMethods.html">ActiveModel::MassAssignmentSecurity::ClassMethods</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity/Error.html">ActiveModel::MassAssignmentSecurity::Error</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity/LoggerSanitizer.html">ActiveModel::MassAssignmentSecurity::LoggerSanitizer</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity/PermissionSet.html">ActiveModel::MassAssignmentSecurity::PermissionSet</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity/Sanitizer.html">ActiveModel::MassAssignmentSecurity::Sanitizer</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity/StrictSanitizer.html">ActiveModel::MassAssignmentSecurity::StrictSanitizer</a>
  
    <li><a href="./ActiveModel/MassAssignmentSecurity/WhiteList.html">ActiveModel::MassAssignmentSecurity::WhiteList</a>
  
    <li><a href="./ActiveModel/MissingAttributeError.html">ActiveModel::MissingAttributeError</a>
  
    <li><a href="./ActiveModel/Name.html">ActiveModel::Name</a>
  
    <li><a href="./ActiveModel/Naming.html">ActiveModel::Naming</a>
  
    <li><a href="./ActiveModel/Observer.html">ActiveModel::Observer</a>
  
    <li><a href="./ActiveModel/ObserverArray.html">ActiveModel::ObserverArray</a>
  
    <li><a href="./ActiveModel/Observing.html">ActiveModel::Observing</a>
  
    <li><a href="./ActiveModel/Observing/ClassMethods.html">ActiveModel::Observing::ClassMethods</a>
  
    <li><a href="./ActiveModel/SecurePassword.html">ActiveModel::SecurePassword</a>
  
    <li><a href="./ActiveModel/SecurePassword/ClassMethods.html">ActiveModel::SecurePassword::ClassMethods</a>
  
    <li><a href="./ActiveModel/SecurePassword/InstanceMethodsOnActivation.html">ActiveModel::SecurePassword::InstanceMethodsOnActivation</a>
  
    <li><a href="./ActiveModel/Serialization.html">ActiveModel::Serialization</a>
  
    <li><a href="./ActiveModel/Serializers.html">ActiveModel::Serializers</a>
  
    <li><a href="./ActiveModel/Serializers/JSON.html">ActiveModel::Serializers::JSON</a>
  
    <li><a href="./ActiveModel/Serializers/Xml.html">ActiveModel::Serializers::Xml</a>
  
    <li><a href="./ActiveModel/StrictValidationFailed.html">ActiveModel::StrictValidationFailed</a>
  
    <li><a href="./ActiveModel/Translation.html">ActiveModel::Translation</a>
  
    <li><a href="./ActiveModel/Validations.html">ActiveModel::Validations</a>
  
    <li><a href="./ActiveModel/Validations/AcceptanceValidator.html">ActiveModel::Validations::AcceptanceValidator</a>
  
    <li><a href="./ActiveModel/Validations/Callbacks.html">ActiveModel::Validations::Callbacks</a>
  
    <li><a href="./ActiveModel/Validations/Callbacks/ClassMethods.html">ActiveModel::Validations::Callbacks::ClassMethods</a>
  
    <li><a href="./ActiveModel/Validations/ClassMethods.html">ActiveModel::Validations::ClassMethods</a>
  
    <li><a href="./ActiveModel/Validations/ConfirmationValidator.html">ActiveModel::Validations::ConfirmationValidator</a>
  
    <li><a href="./ActiveModel/Validations/ExclusionValidator.html">ActiveModel::Validations::ExclusionValidator</a>
  
    <li><a href="./ActiveModel/Validations/FormatValidator.html">ActiveModel::Validations::FormatValidator</a>
  
    <li><a href="./ActiveModel/Validations/HelperMethods.html">ActiveModel::Validations::HelperMethods</a>
  
    <li><a href="./ActiveModel/Validations/InclusionValidator.html">ActiveModel::Validations::InclusionValidator</a>
  
    <li><a href="./ActiveModel/Validations/LengthValidator.html">ActiveModel::Validations::LengthValidator</a>
  
    <li><a href="./ActiveModel/Validations/NumericalityValidator.html">ActiveModel::Validations::NumericalityValidator</a>
  
    <li><a href="./ActiveModel/Validations/PresenceValidator.html">ActiveModel::Validations::PresenceValidator</a>
  
    <li><a href="./ActiveModel/Validations/WithValidator.html">ActiveModel::Validations::WithValidator</a>
  
    <li><a href="./ActiveModel/Validator.html">ActiveModel::Validator</a>
  
    <li><a href="./ActiveResource.html">ActiveResource</a>
  
    <li><a href="./ActiveResource/Base.html">ActiveResource::Base</a>
  
    <li><a href="./ActiveResource/Connection.html">ActiveResource::Connection</a>
  
    <li><a href="./ActiveResource/CustomMethods.html">ActiveResource::CustomMethods</a>
  
    <li><a href="./ActiveResource/CustomMethods/ClassMethods.html">ActiveResource::CustomMethods::ClassMethods</a>
  
    <li><a href="./ActiveResource/Errors.html">ActiveResource::Errors</a>
  
    <li><a href="./ActiveResource/Formats.html">ActiveResource::Formats</a>
  
    <li><a href="./ActiveResource/Formats/JsonFormat.html">ActiveResource::Formats::JsonFormat</a>
  
    <li><a href="./ActiveResource/Formats/XmlFormat.html">ActiveResource::Formats::XmlFormat</a>
  
    <li><a href="./ActiveResource/HttpMock.html">ActiveResource::HttpMock</a>
  
    <li><a href="./ActiveResource/InvalidRequestError.html">ActiveResource::InvalidRequestError</a>
  
    <li><a href="./ActiveResource/LogSubscriber.html">ActiveResource::LogSubscriber</a>
  
    <li><a href="./ActiveResource/Observing.html">ActiveResource::Observing</a>
  
    <li><a href="./ActiveResource/Railtie.html">ActiveResource::Railtie</a>
  
    <li><a href="./ActiveResource/Request.html">ActiveResource::Request</a>
  
    <li><a href="./ActiveResource/Response.html">ActiveResource::Response</a>
  
    <li><a href="./ActiveResource/SSLError.html">ActiveResource::SSLError</a>
  
    <li><a href="./ActiveResource/TimeoutError.html">ActiveResource::TimeoutError</a>
  
    <li><a href="./ActiveResource/Validations.html">ActiveResource::Validations</a>
  
    <li><a href="./HTML.html">HTML</a>
  
    <li><a href="./HTML/FullSanitizer.html">HTML::FullSanitizer</a>
  
    <li><a href="./HTML/LinkSanitizer.html">HTML::LinkSanitizer</a>
  
    <li><a href="./HTML/Sanitizer.html">HTML::Sanitizer</a>
  
    <li><a href="./HTML/Selector.html">HTML::Selector</a>
  
    <li><a href="./HTML/Tag.html">HTML::Tag</a>
  
    <li><a href="./HTML/WhiteListSanitizer.html">HTML::WhiteListSanitizer</a>
  
    <li><a href="./Mysql.html">Mysql</a>
  
    <li><a href="./Mysql/Result.html">Mysql::Result</a>
  
    <li><a href="./Mysql/Stmt.html">Mysql::Stmt</a>
  
    <li><a href="./Mysql/Time.html">Mysql::Time</a>
  
    <li><a href="./Test.html">Test</a>
  
    <li><a href="./Test/Unit.html">Test::Unit</a>
  
    <li><a href="./Test/Unit/Collector.html">Test::Unit::Collector</a>
  
    <li><a href="./Test/Unit/Collector/ObjectSpace.html">Test::Unit::Collector::ObjectSpace</a>
  
    <li><a href="./I18n.html">I18n</a>
  
    <li><a href="./I18n/ExceptionHandler.html">I18n::ExceptionHandler</a>
  
    <li><a href="./I18n/Railtie.html">I18n::Railtie</a>
  
    <li><a href="./Object.html">Object</a>
  
    <li><a href="./ActiveSupport/HashWithIndifferentAccess.html">Object::HashWithIndifferentAccess</a>
  
    <li><a href="./LoadError.html">Object::MissingSourceFile</a>
  
    <li><a href="./ActionMailer.html">ActionMailer</a>
  
    <li><a href="./ActionMailer/Base.html">ActionMailer::Base</a>
  
    <li><a href="./ArJdbcMySQL.html">ArJdbcMySQL</a>
  
    <li><a href="./ArJdbcMySQL/Error.html">ArJdbcMySQL::Error</a>
  
    <li><a href="./ERB.html">ERB</a>
  
    <li><a href="./ERB/Util.html">ERB::Util</a>
  
    <li><a href="./LoadError.html">LoadError</a>
  
    <li><a href="./LoadError.html">LoadError</a>
  
    <li><a href="./Logger.html">Logger</a>
  
    <li><a href="./Logger/SimpleFormatter.html">Logger::SimpleFormatter</a>
  
    <li><a href="./Array.html">Array</a>
  
    <li><a href="./Base64.html">Base64</a>
  
    <li><a href="./Benchmark.html">Benchmark</a>
  
    <li><a href="./BigDecimal.html">BigDecimal</a>
  
    <li><a href="./Class.html">Class</a>
  
    <li><a href="./Date.html">Date</a>
  
    <li><a href="./DateTime.html">DateTime</a>
  
    <li><a href="./Enumerable.html">Enumerable</a>
  
    <li><a href="./FalseClass.html">FalseClass</a>
  
    <li><a href="./File.html">File</a>
  
    <li><a href="./Float.html">Float</a>
  
    <li><a href="./Hash.html">Hash</a>
  
    <li><a href="./Integer.html">Integer</a>
  
    <li><a href="./Kernel.html">Kernel</a>
  
    <li><a href="./Module.html">Module</a>
  
    <li><a href="./NameError.html">NameError</a>
  
    <li><a href="./NilClass.html">NilClass</a>
  
    <li><a href="./Numeric.html">Numeric</a>
  
    <li><a href="./Process.html">Process</a>
  
    <li><a href="./QualifiedConstUtils.html">QualifiedConstUtils</a>
  
    <li><a href="./Rails.html">Rails</a>
  
    <li><a href="./Range.html">Range</a>
  
    <li><a href="./Regexp.html">Regexp</a>
  
    <li><a href="./String.html">String</a>
  
    <li><a href="./Symbol.html">Symbol</a>
  
    <li><a href="./Time.html">Time</a>
  
    <li><a href="./TrueClass.html">TrueClass</a>
  
    <li><a href="./URI.html">URI</a>
  
  </ul>
</nav>

  </div>
</nav>

<div id="documentation">
  <h1 class="class">class Array</h1>

  <div id="description" class="description">
    
  </div><!-- description -->

  
  
  
  <section id="5Buntitled-5D" class="documentation-section">
    

    

    

    

    <!-- Methods -->
    
     <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
      <h3 class="section-header">Public Class Methods</h3>

    
      <div id="method-c-wrap" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">wrap</span><span
            class="method-args">(object)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Wraps its argument in an array unless it is already an array (or
array-like).</p>

<p>Specifically:</p>
<ul><li>
<p>If the argument is <code>nil</code> an empty list is returned.</p>
</li><li>
<p>Otherwise, if the argument responds to <code>to_ary</code> it is invoked,
and its result returned.</p>
</li><li>
<p>Otherwise, returns an array with the argument as its single element.</p>

<p><a href="Array.html#method-c-wrap">::wrap</a>       # =&gt; [] <a
href="Array.html#method-c-wrap">::wrap</a>([1, 2, 3]) # =&gt; [1, 2, 3] <a
href="Array.html#method-c-wrap">::wrap</a>         # =&gt; [0]</p>
</li></ul>

<p>This method is similar in purpose to <code>Kernel#Array</code>, but there
are some differences:</p>
<ul><li>
<p>If the argument responds to <code>to_ary</code> the method is invoked.
<code>Kernel#Array</code></p>
</li></ul>

<p>moves on to try <code>to_a</code> if the returned value is
<code>nil</code>, but <code>Array.wrap</code> returns such a
<code>nil</code> right away.</p>
<ul><li>
<p>If the returned value from <code>to_ary</code> is neither <code>nil</code>
nor an <code>Array</code> object, <code>Kernel#Array</code></p>
</li></ul>

<p>raises an exception, while <code>Array.wrap</code> does not, it just
returns the value.</p>
<ul><li>
<p>It does not call <code>to_a</code> on the argument, though special-cases
<code>nil</code> to return an empty array.</p>
</li></ul>

<p>The last point is particularly worth comparing for some enumerables:</p>

<pre class="ruby"><span class="ruby-constant">Array</span>(:<span class="ruby-identifier">foo</span> =<span class="ruby-operator">&gt;</span> :<span class="ruby-identifier">bar</span>)      <span class="ruby-comment"># =&gt; [[:foo, :bar]]</span>
<span class="ruby-constant">Array</span>.<span class="ruby-identifier">wrap</span>(:<span class="ruby-identifier">foo</span> =<span class="ruby-operator">&gt;</span> :<span class="ruby-identifier">bar</span>) <span class="ruby-comment"># =&gt; [{:foo =&gt; :bar}]</span>

<span class="ruby-constant">Array</span>(<span class="ruby-string">&quot;foo\nbar&quot;</span>)        <span class="ruby-comment"># =&gt; [&quot;foo\n&quot;, &quot;bar&quot;], in Ruby 1.8</span>
<span class="ruby-constant">Array</span>.<span class="ruby-identifier">wrap</span>(<span class="ruby-string">&quot;foo\nbar&quot;</span>)   <span class="ruby-comment"># =&gt; [&quot;foo\nbar&quot;]</span>
</pre>

<p>There’s also a related idiom that uses the splat operator:</p>

<pre>[*object]</pre>

<p>which returns <code>[nil]</code> for <code>nil</code>, and calls to
<code>Array(object)</code> otherwise.</p>

<p>Thus, in this case the behavior is different for <code>nil</code>, and the
differences with <code>Kernel#Array</code> explained above apply to the
rest of +object+s.</p>
          

          
          <div class="method-source-code" id="wrap-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/wrap.rb, line 39</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">wrap</span>(<span class="ruby-identifier">object</span>)
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">object</span>.<span class="ruby-identifier">nil?</span>
    []
  <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">object</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:to_ary</span>)
    <span class="ruby-identifier">object</span>.<span class="ruby-identifier">to_ary</span> <span class="ruby-operator">||</span> [<span class="ruby-identifier">object</span>]
  <span class="ruby-keyword">else</span>
    [<span class="ruby-identifier">object</span>]
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- wrap-source -->
          
        </div>

        

        
      </div><!-- wrap-method -->

    
    </section><!-- public-class-method-details -->
  
     <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
      <h3 class="section-header">Public Instance Methods</h3>

    
      <div id="method-i-extract_options-21" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">extract_options!</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Extracts options from a set of arguments. Removes and returns the last
element in the array if it’s a hash, otherwise returns a blank hash.</p>

<pre class="ruby"><span class="ruby-keyword">def</span> <span class="ruby-identifier">options</span>(*<span class="ruby-identifier">args</span>)
  <span class="ruby-identifier">args</span>.<span class="ruby-identifier">extract_options!</span>
<span class="ruby-keyword">end</span>

<span class="ruby-identifier">options</span>(<span class="ruby-value">1</span>, <span class="ruby-value">2</span>)           <span class="ruby-comment"># =&gt; {}</span>
<span class="ruby-identifier">options</span>(<span class="ruby-value">1</span>, <span class="ruby-value">2</span>, :<span class="ruby-identifier">a</span> =<span class="ruby-operator">&gt;</span> :<span class="ruby-identifier">b</span>) <span class="ruby-comment"># =&gt; {:a=&gt;:b}</span>
</pre>
          

          
          <div class="method-source-code" id="extract_options-21-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/extract_options.rb, line 22</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">extract_options!</span>
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">last</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">last</span>.<span class="ruby-identifier">extractable_options?</span>
    <span class="ruby-identifier">pop</span>
  <span class="ruby-keyword">else</span>
    {}
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- extract_options-21-source -->
          
        </div>

        

        
      </div><!-- extract_options-21-method -->

    
      <div id="method-i-fifth" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">fifth</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Equal to <code>self[4]</code>.</p>
          

          
          <div class="method-source-code" id="fifth-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/access.rb, line 38</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">fifth</span>
  <span class="ruby-keyword">self</span>[<span class="ruby-value">4</span>]
<span class="ruby-keyword">end</span></pre>
          </div><!-- fifth-source -->
          
        </div>

        

        
      </div><!-- fifth-method -->

    
      <div id="method-i-forty_two" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">forty_two</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Equal to <code>self[41]</code>. Also known as accessing “the reddit”.</p>
          

          
          <div class="method-source-code" id="forty_two-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/access.rb, line 43</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">forty_two</span>
  <span class="ruby-keyword">self</span>[<span class="ruby-value">41</span>]
<span class="ruby-keyword">end</span></pre>
          </div><!-- forty_two-source -->
          
        </div>

        

        
      </div><!-- forty_two-method -->

    
      <div id="method-i-fourth" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">fourth</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Equal to <code>self[3]</code>.</p>
          

          
          <div class="method-source-code" id="fourth-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/access.rb, line 33</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">fourth</span>
  <span class="ruby-keyword">self</span>[<span class="ruby-value">3</span>]
<span class="ruby-keyword">end</span></pre>
          </div><!-- fourth-source -->
          
        </div>

        

        
      </div><!-- fourth-method -->

    
      <div id="method-i-from" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">from</span><span
            class="method-args">(position)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns the tail of the array from <code>position</code>.</p>

<pre class="ruby"><span class="ruby-node">%w( a b c d )</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">0</span>)  <span class="ruby-comment"># =&gt; %w( a b c d )</span>
<span class="ruby-node">%w( a b c d )</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">2</span>)  <span class="ruby-comment"># =&gt; %w( c d )</span>
<span class="ruby-node">%w( a b c d )</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">10</span>) <span class="ruby-comment"># =&gt; %w()</span>
<span class="ruby-node">%w()</span>.<span class="ruby-identifier">from</span>(<span class="ruby-value">0</span>)           <span class="ruby-comment"># =&gt; %w()</span>
</pre>
          

          
          <div class="method-source-code" id="from-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/access.rb, line 8</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">from</span>(<span class="ruby-identifier">position</span>)
  <span class="ruby-keyword">self</span>[<span class="ruby-identifier">position</span>, <span class="ruby-identifier">length</span>] <span class="ruby-operator">||</span> []
<span class="ruby-keyword">end</span></pre>
          </div><!-- from-source -->
          
        </div>

        

        
      </div><!-- from-method -->

    
      <div id="method-i-in_groups" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">in_groups</span><span
            class="method-args">(number, fill_with = nil) { |g| ... }</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Splits or iterates over the array in <code>number</code> of groups, padding
any remaining slots with <code>fill_with</code> unless it is
<code>false</code>.</p>

<pre class="ruby"><span class="ruby-node">%w(1 2 3 4 5 6 7 8 9 10)</span>.<span class="ruby-identifier">in_groups</span>(<span class="ruby-value">3</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> <span class="ruby-identifier">group</span>}
[<span class="ruby-string">&quot;1&quot;</span>, <span class="ruby-string">&quot;2&quot;</span>, <span class="ruby-string">&quot;3&quot;</span>, <span class="ruby-string">&quot;4&quot;</span>]
[<span class="ruby-string">&quot;5&quot;</span>, <span class="ruby-string">&quot;6&quot;</span>, <span class="ruby-string">&quot;7&quot;</span>, <span class="ruby-keyword">nil</span>]
[<span class="ruby-string">&quot;8&quot;</span>, <span class="ruby-string">&quot;9&quot;</span>, <span class="ruby-string">&quot;10&quot;</span>, <span class="ruby-keyword">nil</span>]

<span class="ruby-node">%w(1 2 3 4 5 6 7)</span>.<span class="ruby-identifier">in_groups</span>(<span class="ruby-value">3</span>, <span class="ruby-string">'&amp;nbsp;'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> <span class="ruby-identifier">group</span>}
[<span class="ruby-string">&quot;1&quot;</span>, <span class="ruby-string">&quot;2&quot;</span>, <span class="ruby-string">&quot;3&quot;</span>]
[<span class="ruby-string">&quot;4&quot;</span>, <span class="ruby-string">&quot;5&quot;</span>, <span class="ruby-string">&quot;&amp;nbsp;&quot;</span>]
[<span class="ruby-string">&quot;6&quot;</span>, <span class="ruby-string">&quot;7&quot;</span>, <span class="ruby-string">&quot;&amp;nbsp;&quot;</span>]

<span class="ruby-node">%w(1 2 3 4 5 6 7)</span>.<span class="ruby-identifier">in_groups</span>(<span class="ruby-value">3</span>, <span class="ruby-keyword">false</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> <span class="ruby-identifier">group</span>}
[<span class="ruby-string">&quot;1&quot;</span>, <span class="ruby-string">&quot;2&quot;</span>, <span class="ruby-string">&quot;3&quot;</span>]
[<span class="ruby-string">&quot;4&quot;</span>, <span class="ruby-string">&quot;5&quot;</span>]
[<span class="ruby-string">&quot;6&quot;</span>, <span class="ruby-string">&quot;7&quot;</span>]
</pre>
          

          
          <div class="method-source-code" id="in_groups-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/grouping.rb, line 56</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">in_groups</span>(<span class="ruby-identifier">number</span>, <span class="ruby-identifier">fill_with</span> = <span class="ruby-keyword">nil</span>)
  <span class="ruby-comment"># size / number gives minor group size;</span>
  <span class="ruby-comment"># size % number gives how many objects need extra accommodation;</span>
  <span class="ruby-comment"># each group hold either division or division + 1 items.</span>
  <span class="ruby-identifier">division</span> = <span class="ruby-identifier">size</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">number</span>
  <span class="ruby-identifier">modulo</span> = <span class="ruby-identifier">size</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">number</span>

  <span class="ruby-comment"># create a new array avoiding dup</span>
  <span class="ruby-identifier">groups</span> = []
  <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>

  <span class="ruby-identifier">number</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
    <span class="ruby-identifier">length</span> = <span class="ruby-identifier">division</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">modulo</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">modulo</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">index</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>)
    <span class="ruby-identifier">padding</span> = <span class="ruby-identifier">fill_with</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">false</span> <span class="ruby-operator">&amp;&amp;</span>
      <span class="ruby-identifier">modulo</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">division</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
    <span class="ruby-identifier">groups</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">slice</span>(<span class="ruby-identifier">start</span>, <span class="ruby-identifier">length</span>).<span class="ruby-identifier">concat</span>([<span class="ruby-identifier">fill_with</span>] * <span class="ruby-identifier">padding</span>)
    <span class="ruby-identifier">start</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">length</span>
  <span class="ruby-keyword">end</span>

  <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
    <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">g</span>) }
  <span class="ruby-keyword">else</span>
    <span class="ruby-identifier">groups</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- in_groups-source -->
          
        </div>

        

        
      </div><!-- in_groups-method -->

    
      <div id="method-i-in_groups_of" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">in_groups_of</span><span
            class="method-args">(number, fill_with = nil) { |slice| ... }</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Splits or iterates over the array in groups of size <code>number</code>,
padding any remaining slots with <code>fill_with</code> unless it is
<code>false</code>.</p>

<pre class="ruby"><span class="ruby-node">%w(1 2 3 4 5 6 7)</span>.<span class="ruby-identifier">in_groups_of</span>(<span class="ruby-value">3</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> <span class="ruby-identifier">group</span>}
[<span class="ruby-string">&quot;1&quot;</span>, <span class="ruby-string">&quot;2&quot;</span>, <span class="ruby-string">&quot;3&quot;</span>]
[<span class="ruby-string">&quot;4&quot;</span>, <span class="ruby-string">&quot;5&quot;</span>, <span class="ruby-string">&quot;6&quot;</span>]
[<span class="ruby-string">&quot;7&quot;</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-keyword">nil</span>]

<span class="ruby-node">%w(1 2 3)</span>.<span class="ruby-identifier">in_groups_of</span>(<span class="ruby-value">2</span>, <span class="ruby-string">'&amp;nbsp;'</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> <span class="ruby-identifier">group</span>}
[<span class="ruby-string">&quot;1&quot;</span>, <span class="ruby-string">&quot;2&quot;</span>]
[<span class="ruby-string">&quot;3&quot;</span>, <span class="ruby-string">&quot;&amp;nbsp;&quot;</span>]

<span class="ruby-node">%w(1 2 3)</span>.<span class="ruby-identifier">in_groups_of</span>(<span class="ruby-value">2</span>, <span class="ruby-keyword">false</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> <span class="ruby-identifier">group</span>}
[<span class="ruby-string">&quot;1&quot;</span>, <span class="ruby-string">&quot;2&quot;</span>]
[<span class="ruby-string">&quot;3&quot;</span>]
</pre>
          

          
          <div class="method-source-code" id="in_groups_of-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/grouping.rb, line 19</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">in_groups_of</span>(<span class="ruby-identifier">number</span>, <span class="ruby-identifier">fill_with</span> = <span class="ruby-keyword">nil</span>)
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">fill_with</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
    <span class="ruby-identifier">collection</span> = <span class="ruby-keyword">self</span>
  <span class="ruby-keyword">else</span>
    <span class="ruby-comment"># size % number gives how many extra we have;</span>
    <span class="ruby-comment"># subtracting from number gives how many to add;</span>
    <span class="ruby-comment"># modulo number ensures we don't add group of just fill.</span>
    <span class="ruby-identifier">padding</span> = (<span class="ruby-identifier">number</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">number</span>) <span class="ruby-operator">%</span> <span class="ruby-identifier">number</span>
    <span class="ruby-identifier">collection</span> = <span class="ruby-identifier">dup</span>.<span class="ruby-identifier">concat</span>([<span class="ruby-identifier">fill_with</span>] * <span class="ruby-identifier">padding</span>)
  <span class="ruby-keyword">end</span>

  <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
    <span class="ruby-identifier">collection</span>.<span class="ruby-identifier">each_slice</span>(<span class="ruby-identifier">number</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">slice</span><span class="ruby-operator">|</span> <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">slice</span>) }
  <span class="ruby-keyword">else</span>
    <span class="ruby-identifier">groups</span> = []
    <span class="ruby-identifier">collection</span>.<span class="ruby-identifier">each_slice</span>(<span class="ruby-identifier">number</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span> <span class="ruby-identifier">groups</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">group</span> }
    <span class="ruby-identifier">groups</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- in_groups_of-source -->
          
        </div>

        

        
      </div><!-- in_groups_of-method -->

    
      <div id="method-i-sample" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">sample</span><span
            class="method-args">(n=nil)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Backport of <a href="Array.html#method-i-sample">#sample</a> based on
Marc-Andre Lafortune’s <a
href="https://github.com/marcandre/backports/">github.com/marcandre/backports/</a>
Returns a random element or <code>n</code> random elements from the array.
If the array is empty and <code>n</code> is nil, returns <code>nil</code>.
If <code>n</code> is passed and its value is less than 0, it raises an
<code>ArgumentError</code> exception. If the value of <code>n</code> is
equal or greater than 0 it returns <code>[]</code>.</p>

<pre class="ruby">[<span class="ruby-value">1</span>,<span class="ruby-value">2</span>,<span class="ruby-value">3</span>,<span class="ruby-value">4</span>,<span class="ruby-value">5</span>,<span class="ruby-value">6</span>].<span class="ruby-identifier">sample</span>     <span class="ruby-comment"># =&gt; 4</span>
[<span class="ruby-value">1</span>,<span class="ruby-value">2</span>,<span class="ruby-value">3</span>,<span class="ruby-value">4</span>,<span class="ruby-value">5</span>,<span class="ruby-value">6</span>].<span class="ruby-identifier">sample</span>(<span class="ruby-value">3</span>)  <span class="ruby-comment"># =&gt; [2, 4, 5]</span>
[<span class="ruby-value">1</span>,<span class="ruby-value">2</span>,<span class="ruby-value">3</span>,<span class="ruby-value">4</span>,<span class="ruby-value">5</span>,<span class="ruby-value">6</span>].<span class="ruby-identifier">sample</span>(<span class="ruby-value">-3</span>) <span class="ruby-comment"># =&gt; ArgumentError: negative array size</span>
           [].<span class="ruby-identifier">sample</span>     <span class="ruby-comment"># =&gt; nil</span>
           [].<span class="ruby-identifier">sample</span>(<span class="ruby-value">3</span>)  <span class="ruby-comment"># =&gt; []</span>
</pre>
          

          
          <div class="method-source-code" id="sample-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/random_access.rb, line 13</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">n</span>=<span class="ruby-keyword">nil</span>)
  <span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>[<span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">rand</span>(<span class="ruby-identifier">size</span>)] <span class="ruby-keyword">if</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">nil?</span>
  <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_int</span>
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;Coercion error: #{n.inspect}.to_int =&gt; Integer failed:\n(#{e.message})&quot;</span>
<span class="ruby-keyword">else</span>
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;Coercion error: obj.to_int did NOT return an Integer (was #{n.class})&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Integer</span>
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;negative array size&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
  <span class="ruby-identifier">n</span> = <span class="ruby-identifier">size</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">size</span>
  <span class="ruby-identifier">result</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>)
  <span class="ruby-identifier">n</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
    <span class="ruby-identifier">r</span> = <span class="ruby-identifier">i</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">rand</span>(<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">i</span>)
    <span class="ruby-identifier">result</span>[<span class="ruby-identifier">i</span>], <span class="ruby-identifier">result</span>[<span class="ruby-identifier">r</span>] = <span class="ruby-identifier">result</span>[<span class="ruby-identifier">r</span>], <span class="ruby-identifier">result</span>[<span class="ruby-identifier">i</span>]
  <span class="ruby-keyword">end</span>
  <span class="ruby-identifier">result</span>[<span class="ruby-identifier">n</span><span class="ruby-operator">..</span><span class="ruby-identifier">size</span>] = []
  <span class="ruby-identifier">result</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- sample-source -->
          
        </div>

        

        
      </div><!-- sample-method -->

    
      <div id="method-i-second" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">second</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Equal to <code>self[1]</code>.</p>
          

          
          <div class="method-source-code" id="second-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/access.rb, line 23</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">second</span>
  <span class="ruby-keyword">self</span>[<span class="ruby-value">1</span>]
<span class="ruby-keyword">end</span></pre>
          </div><!-- second-source -->
          
        </div>

        

        
      </div><!-- second-method -->

    
      <div id="method-i-split" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">split</span><span
            class="method-args">(value = nil) { |element| ... }</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Divides the array into one or more subarrays based on a delimiting
<code>value</code> or the result of an optional block.</p>

<pre class="ruby">[<span class="ruby-value">1</span>, <span class="ruby-value">2</span>, <span class="ruby-value">3</span>, <span class="ruby-value">4</span>, <span class="ruby-value">5</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value">3</span>)                <span class="ruby-comment"># =&gt; [[1, 2], [4, 5]]</span>
(<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">10</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">split</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">%</span> <span class="ruby-value">3</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> }   <span class="ruby-comment"># =&gt; [[1, 2], [4, 5], [7, 8], [10]]</span>
</pre>
          

          
          <div class="method-source-code" id="split-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/grouping.rb, line 87</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">split</span>(<span class="ruby-identifier">value</span> = <span class="ruby-keyword">nil</span>)
  <span class="ruby-identifier">using_block</span> = <span class="ruby-identifier">block_given?</span>

  <span class="ruby-identifier">inject</span>([[]]) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">results</span>, <span class="ruby-identifier">element</span><span class="ruby-operator">|</span>
    <span class="ruby-keyword">if</span> (<span class="ruby-identifier">using_block</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">element</span>)) <span class="ruby-operator">||</span> (<span class="ruby-identifier">value</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">element</span>)
      <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> []
    <span class="ruby-keyword">else</span>
      <span class="ruby-identifier">results</span>.<span class="ruby-identifier">last</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">element</span>
    <span class="ruby-keyword">end</span>

    <span class="ruby-identifier">results</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- split-source -->
          
        </div>

        

        
      </div><!-- split-method -->

    
      <div id="method-i-third" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">third</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Equal to <code>self[2]</code>.</p>
          

          
          <div class="method-source-code" id="third-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/access.rb, line 28</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">third</span>
  <span class="ruby-keyword">self</span>[<span class="ruby-value">2</span>]
<span class="ruby-keyword">end</span></pre>
          </div><!-- third-source -->
          
        </div>

        

        
      </div><!-- third-method -->

    
      <div id="method-i-to" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to</span><span
            class="method-args">(position)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns the beginning of the array up to <code>position</code>.</p>

<pre class="ruby"><span class="ruby-node">%w( a b c d )</span>.<span class="ruby-identifier">to</span>(<span class="ruby-value">0</span>)  <span class="ruby-comment"># =&gt; %w( a )</span>
<span class="ruby-node">%w( a b c d )</span>.<span class="ruby-identifier">to</span>(<span class="ruby-value">2</span>)  <span class="ruby-comment"># =&gt; %w( a b c )</span>
<span class="ruby-node">%w( a b c d )</span>.<span class="ruby-identifier">to</span>(<span class="ruby-value">10</span>) <span class="ruby-comment"># =&gt; %w( a b c d )</span>
<span class="ruby-node">%w()</span>.<span class="ruby-identifier">to</span>(<span class="ruby-value">0</span>)           <span class="ruby-comment"># =&gt; %w()</span>
</pre>
          

          
          <div class="method-source-code" id="to-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/access.rb, line 18</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to</span>(<span class="ruby-identifier">position</span>)
  <span class="ruby-keyword">self</span>.<span class="ruby-identifier">first</span> <span class="ruby-identifier">position</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- to-source -->
          
        </div>

        

        
      </div><!-- to-method -->

    
      <div id="method-i-to_default_s" class="method-detail method-alias">
        
        <div class="method-heading">
          <span class="method-name">to_default_s</span><span
            class="method-args">(format = :default)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          
          

          
        </div>

        

        
        <div class="aliases">
          Alias for: <a href="Array.html#method-i-to_s">to_s</a>
        </div>
        
      </div><!-- to_default_s-method -->

    
      <div id="method-i-to_formatted_s" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to_formatted_s</span><span
            class="method-args">(format = :default)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Converts a collection of elements into a formatted string by calling
<code>to_s</code> on all elements and joining them:</p>

<pre class="ruby"><span class="ruby-constant">Blog</span>.<span class="ruby-identifier">all</span>.<span class="ruby-identifier">to_formatted_s</span> <span class="ruby-comment"># =&gt; &quot;First PostSecond PostThird Post&quot;</span>
</pre>

<p>Adding in the <code>:db</code> argument as the format yields a comma
separated id list:</p>

<pre class="ruby"><span class="ruby-constant">Blog</span>.<span class="ruby-identifier">all</span>.<span class="ruby-identifier">to_formatted_s</span>(:<span class="ruby-identifier">db</span>) <span class="ruby-comment"># =&gt; &quot;1,2,3&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="to_formatted_s-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/conversions.rb, line 46</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_formatted_s</span>(<span class="ruby-identifier">format</span> = <span class="ruby-value">:default</span>)
  <span class="ruby-keyword">case</span> <span class="ruby-identifier">format</span>
    <span class="ruby-keyword">when</span> <span class="ruby-value">:db</span>
      <span class="ruby-keyword">if</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:empty?</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">empty?</span>
        <span class="ruby-string">&quot;null&quot;</span>
      <span class="ruby-keyword">else</span>
        <span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">element</span><span class="ruby-operator">|</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">id</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;,&quot;</span>)
      <span class="ruby-keyword">end</span>
    <span class="ruby-keyword">else</span>
      <span class="ruby-identifier">to_default_s</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- to_formatted_s-source -->
          
        </div>

        
        <div class="aliases">
          Also aliased as: <a href="Array.html#method-i-to_s">to_s</a>
        </div>
        

        
      </div><!-- to_formatted_s-method -->

    
      <div id="method-i-to_param" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to_param</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Calls <code>to_param</code> on all its elements and joins the result with
slashes. This is used by <code>url_for</code> in Action Pack.</p>
          

          
          <div class="method-source-code" id="to_param-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/object/to_param.rb, line 29</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_param</span>
  <span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">to_param</span> }.<span class="ruby-identifier">join</span> <span class="ruby-string">'/'</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- to_param-source -->
          
        </div>

        

        
      </div><!-- to_param-method -->

    
      <div id="method-i-to_query" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to_query</span><span
            class="method-args">(key)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Converts an array into a string suitable for use as a URL query string,
using the given <code>key</code> as the param name.</p>

<pre class="ruby">[<span class="ruby-string">'Rails'</span>, <span class="ruby-string">'coding'</span>].<span class="ruby-identifier">to_query</span>(<span class="ruby-string">'hobbies'</span>) <span class="ruby-comment"># =&gt; &quot;hobbies%5B%5D=Rails&amp;hobbies%5B%5D=coding&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="to_query-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/object/to_query.rb, line 19</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_query</span>(<span class="ruby-identifier">key</span>)
  <span class="ruby-identifier">prefix</span> = <span class="ruby-node">&quot;#{key}[]&quot;</span>
  <span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_query</span>(<span class="ruby-identifier">prefix</span>) }.<span class="ruby-identifier">join</span> <span class="ruby-string">'&amp;'</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- to_query-source -->
          
        </div>

        

        
      </div><!-- to_query-method -->

    
      <div id="method-i-to_s" class="method-detail method-alias">
        
        <div class="method-heading">
          <span class="method-name">to_s</span><span
            class="method-args">(format = :default)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          
          

          
        </div>

        
        <div class="aliases">
          Also aliased as: <a href="Array.html#method-i-to_default_s">to_default_s</a>
        </div>
        

        
        <div class="aliases">
          Alias for: <a href="Array.html#method-i-to_formatted_s">to_formatted_s</a>
        </div>
        
      </div><!-- to_s-method -->

    
      <div id="method-i-to_sentence" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to_sentence</span><span
            class="method-args">(options = {})</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Converts the array to a comma-separated sentence where the last element is
joined by the connector word. Options:</p>
<ul><li>
<p><code>:words_connector</code> - The sign or word used to join the elements
in arrays with two or more elements (default: ", ")</p>
</li><li>
<p><code>:two_words_connector</code> - The sign or word used to join the
elements in arrays with two elements (default: " and ")</p>
</li><li>
<p><code>:last_word_connector</code> - The sign or word used to join the last
element in arrays with three or more elements (default: ", and ")</p>
</li></ul>
          

          
          <div class="method-source-code" id="to_sentence-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/conversions.rb, line 11</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_sentence</span>(<span class="ruby-identifier">options</span> = {})
  <span class="ruby-keyword">if</span> <span class="ruby-keyword">defined?</span>(<span class="ruby-constant">I18n</span>)
    <span class="ruby-identifier">default_words_connector</span>     = <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">translate</span>(<span class="ruby-value">:'support.array.words_connector'</span>,     <span class="ruby-value">:locale</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:locale</span>])
    <span class="ruby-identifier">default_two_words_connector</span> = <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">translate</span>(<span class="ruby-value">:'support.array.two_words_connector'</span>, <span class="ruby-value">:locale</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:locale</span>])
    <span class="ruby-identifier">default_last_word_connector</span> = <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">translate</span>(<span class="ruby-value">:'support.array.last_word_connector'</span>, <span class="ruby-value">:locale</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:locale</span>])
  <span class="ruby-keyword">else</span>
    <span class="ruby-identifier">default_words_connector</span>     = <span class="ruby-string">&quot;, &quot;</span>
    <span class="ruby-identifier">default_two_words_connector</span> = <span class="ruby-string">&quot; and &quot;</span>
    <span class="ruby-identifier">default_last_word_connector</span> = <span class="ruby-string">&quot;, and &quot;</span>
  <span class="ruby-keyword">end</span>

  <span class="ruby-identifier">options</span>.<span class="ruby-identifier">assert_valid_keys</span>(<span class="ruby-value">:words_connector</span>, <span class="ruby-value">:two_words_connector</span>, <span class="ruby-value">:last_word_connector</span>, <span class="ruby-value">:locale</span>)
  <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reverse_merge!</span> <span class="ruby-value">:words_connector</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">default_words_connector</span>, <span class="ruby-value">:two_words_connector</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">default_two_words_connector</span>, <span class="ruby-value">:last_word_connector</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">default_last_word_connector</span>

  <span class="ruby-keyword">case</span> <span class="ruby-identifier">length</span>
    <span class="ruby-keyword">when</span> <span class="ruby-value">0</span>
      <span class="ruby-string">&quot;&quot;</span>
    <span class="ruby-keyword">when</span> <span class="ruby-value">1</span>
      <span class="ruby-keyword">self</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">dup</span>
    <span class="ruby-keyword">when</span> <span class="ruby-value">2</span>
      <span class="ruby-node">&quot;#{self[0]}#{options[:two_words_connector]}#{self[1]}&quot;</span>
    <span class="ruby-keyword">else</span>
      <span class="ruby-node">&quot;#{self[0...-1].join(options[:words_connector])}#{options[:last_word_connector]}#{self[-1]}&quot;</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- to_sentence-source -->
          
        </div>

        

        
      </div><!-- to_sentence-method -->

    
      <div id="method-i-to_xml" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to_xml</span><span
            class="method-args">(options = {}) { |builder| ... }</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns a string that represents the array in XML by invoking
<code>to_xml</code> on each element. Active Record collections delegate
their representation in XML to this method.</p>

<p>All elements are expected to respond to <code>to_xml</code>, if any of them
does not then an exception is raised.</p>

<p>The root node reflects the class name of the first element in plural if all
elements belong to the same type and that’s not Hash:</p>

<pre>customer.projects.to_xml

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;projects type=&quot;array&quot;&gt;
  &lt;project&gt;
    &lt;amount type=&quot;decimal&quot;&gt;20000.0&lt;/amount&gt;
    &lt;customer-id type=&quot;integer&quot;&gt;1567&lt;/customer-id&gt;
    &lt;deal-date type=&quot;date&quot;&gt;2008-04-09&lt;/deal-date&gt;
    ...
  &lt;/project&gt;
  &lt;project&gt;
    &lt;amount type=&quot;decimal&quot;&gt;57230.0&lt;/amount&gt;
    &lt;customer-id type=&quot;integer&quot;&gt;1567&lt;/customer-id&gt;
    &lt;deal-date type=&quot;date&quot;&gt;2008-04-15&lt;/deal-date&gt;
    ...
  &lt;/project&gt;
&lt;/projects&gt;</pre>

<p>Otherwise the root element is “records”:</p>

<pre class="ruby">[{:<span class="ruby-identifier">foo</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>, :<span class="ruby-identifier">bar</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">2</span>}, {:<span class="ruby-identifier">baz</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">3</span>}].<span class="ruby-identifier">to_xml</span>

<span class="ruby-operator">&lt;</span><span class="ruby-value">xx</span><span class="ruby-identifier">ml</span> <span class="ruby-identifier">version</span>=<span class="ruby-string">&quot;1.0&quot;</span> <span class="ruby-identifier">encoding</span>=<span class="ruby-string">&quot;UTF-8&quot;</span><span class="ruby-operator">?</span><span class="ruby-operator">&gt;</span>
<span class="ruby-operator">&lt;</span><span class="ruby-identifier">records</span> <span class="ruby-identifier">type</span>=<span class="ruby-string">&quot;array&quot;</span><span class="ruby-operator">&gt;</span>
  <span class="ruby-operator">&lt;</span><span class="ruby-identifier">record</span><span class="ruby-operator">&gt;</span>
    <span class="ruby-operator">&lt;</span><span class="ruby-identifier">bar</span> <span class="ruby-identifier">type</span>=<span class="ruby-string">&quot;integer&quot;</span><span class="ruby-operator">&gt;</span><span class="ruby-value">2</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">%rbar&gt;
    &lt;foo type=&quot;integer&quot;&gt;1&lt;/</span><span class="ruby-identifier">foo</span><span class="ruby-operator">&gt;</span>
  <span class="ruby-operator">&lt;</span><span class="ruby-regexp">%rrecord&gt;
  &lt;record&gt;
    &lt;baz type=&quot;integer&quot;&gt;3&lt;/</span><span class="ruby-identifier">baz</span><span class="ruby-operator">&gt;</span>
  <span class="ruby-operator">&lt;</span><span class="ruby-regexp">%rrecord&gt;
&lt;/</span><span class="ruby-identifier">records</span><span class="ruby-operator">&gt;</span>
</pre>

<p>If the collection is empty the root element is “nil-classes” by default:</p>

<pre>[].to_xml

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;nil-classes type=&quot;array&quot;/&gt;</pre>

<p>To ensure a meaningful root element use the <code>:root</code> option:</p>

<pre class="ruby"><span class="ruby-identifier">customer_with_no_projects</span>.<span class="ruby-identifier">projects</span>.<span class="ruby-identifier">to_xml</span>(:<span class="ruby-identifier">root</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;projects&quot;</span>)

<span class="ruby-operator">&lt;</span><span class="ruby-value">xx</span><span class="ruby-identifier">ml</span> <span class="ruby-identifier">version</span>=<span class="ruby-string">&quot;1.0&quot;</span> <span class="ruby-identifier">encoding</span>=<span class="ruby-string">&quot;UTF-8&quot;</span><span class="ruby-operator">?</span><span class="ruby-operator">&gt;</span>
<span class="ruby-operator">&lt;</span><span class="ruby-identifier">projects</span> <span class="ruby-identifier">type</span>=<span class="ruby-string">&quot;array&quot;</span><span class="ruby-operator">/</span><span class="ruby-operator">&gt;</span>
</pre>

<p>By default name of the node for the children of root is
<code>root.singularize</code>. You can change it with the
<code>:children</code> option.</p>

<p>The <code>options</code> hash is passed downwards:</p>

<pre class="ruby"><span class="ruby-constant">Message</span>.<span class="ruby-identifier">all</span>.<span class="ruby-identifier">to_xml</span>(:<span class="ruby-identifier">skip_types</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>)

<span class="ruby-operator">&lt;</span><span class="ruby-value">xx</span><span class="ruby-identifier">ml</span> <span class="ruby-identifier">version</span>=<span class="ruby-string">&quot;1.0&quot;</span> <span class="ruby-identifier">encoding</span>=<span class="ruby-string">&quot;UTF-8&quot;</span><span class="ruby-operator">?</span><span class="ruby-operator">&gt;</span>
<span class="ruby-operator">&lt;</span><span class="ruby-identifier">messages</span><span class="ruby-operator">&gt;</span>
  <span class="ruby-operator">&lt;</span><span class="ruby-identifier">message</span><span class="ruby-operator">&gt;</span>
    <span class="ruby-operator">&lt;</span><span class="ruby-identifier">created</span><span class="ruby-operator">-</span><span class="ruby-identifier">at</span><span class="ruby-operator">&gt;</span><span class="ruby-value">2008</span><span class="ruby-operator">-</span><span class="ruby-value">03</span><span class="ruby-operator">-</span><span class="ruby-value">07</span><span class="ruby-constant">T09</span><span class="ruby-operator">:</span><span class="ruby-value">58</span><span class="ruby-operator">:</span><span class="ruby-value">18</span><span class="ruby-operator">+</span><span class="ruby-value">01</span><span class="ruby-operator">:</span><span class="ruby-value">00</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">%rcreated-at&gt;
    &lt;id&gt;1&lt;/</span><span class="ruby-identifier">d</span><span class="ruby-operator">&gt;</span>
    <span class="ruby-operator">&lt;</span><span class="ruby-identifier">name</span><span class="ruby-operator">&gt;</span><span class="ruby-value">1</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">%rname&gt;
    &lt;updated-at&gt;2008-03-07T09:58:18+01:00&lt;/</span><span class="ruby-identifier">pdated</span><span class="ruby-operator">-</span><span class="ruby-identifier">at</span><span class="ruby-operator">&gt;</span>
    <span class="ruby-operator">&lt;</span><span class="ruby-identifier">user</span><span class="ruby-operator">-</span><span class="ruby-identifier">id</span><span class="ruby-operator">&gt;</span><span class="ruby-value">1</span><span class="ruby-operator">&lt;</span><span class="ruby-regexp">%ruser-id&gt;
  &lt;/</span><span class="ruby-identifier">essage</span><span class="ruby-operator">&gt;</span>
<span class="ruby-operator">&lt;</span><span class="ruby-regexp">%rmessages&gt;
</span></pre>
          

          
          <div class="method-source-code" id="to_xml-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/conversions.rb, line 136</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_xml</span>(<span class="ruby-identifier">options</span> = {})
  <span class="ruby-identifier">require</span> <span class="ruby-string">'active_support/builder'</span> <span class="ruby-keyword">unless</span> <span class="ruby-keyword">defined?</span>(<span class="ruby-constant">Builder</span>)

  <span class="ruby-identifier">options</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">dup</span>
  <span class="ruby-identifier">options</span>[<span class="ruby-value">:indent</span>]  <span class="ruby-operator">||=</span> <span class="ruby-value">2</span>
  <span class="ruby-identifier">options</span>[<span class="ruby-value">:builder</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">Builder</span><span class="ruby-operator">::</span><span class="ruby-constant">XmlMarkup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:indent</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:indent</span>])
  <span class="ruby-identifier">options</span>[<span class="ruby-value">:root</span>]    <span class="ruby-operator">||=</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">!=</span> <span class="ruby-string">&quot;Hash&quot;</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">all?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-identifier">first</span>.<span class="ruby-identifier">class</span>) }
    <span class="ruby-identifier">underscored</span> = <span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">Inflector</span>.<span class="ruby-identifier">underscore</span>(<span class="ruby-identifier">first</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>)
    <span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">Inflector</span>.<span class="ruby-identifier">pluralize</span>(<span class="ruby-identifier">underscored</span>).<span class="ruby-identifier">tr</span>(<span class="ruby-string">'/'</span>, <span class="ruby-string">'_'</span>)
  <span class="ruby-keyword">else</span>
    <span class="ruby-string">&quot;objects&quot;</span>
  <span class="ruby-keyword">end</span>

  <span class="ruby-identifier">builder</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:builder</span>]
  <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">instruct!</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:skip_instruct</span>)

  <span class="ruby-identifier">root</span> = <span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">XmlMini</span>.<span class="ruby-identifier">rename_key</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:root</span>].<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">options</span>)
  <span class="ruby-identifier">children</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:children</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">root</span>.<span class="ruby-identifier">singularize</span>

  <span class="ruby-identifier">attributes</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:skip_types</span>] <span class="ruby-operator">?</span> {} <span class="ruby-operator">:</span> {<span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;array&quot;</span>}
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-identifier">root</span>, <span class="ruby-identifier">attributes</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">empty?</span>

  <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">__send__</span>(<span class="ruby-value">:method_missing</span>, <span class="ruby-identifier">root</span>, <span class="ruby-identifier">attributes</span>) <span class="ruby-keyword">do</span>
    <span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span> <span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">XmlMini</span>.<span class="ruby-identifier">to_tag</span>(<span class="ruby-identifier">children</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">options</span>) }
    <span class="ruby-keyword">yield</span> <span class="ruby-identifier">builder</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- to_xml-source -->
          
        </div>

        

        
      </div><!-- to_xml-method -->

    
      <div id="method-i-uniq_by" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">uniq_by</span><span
            class="method-args">() { |i| ... }</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns an unique array based on the criteria given as a <code>Proc</code>.</p>

<pre class="ruby">[<span class="ruby-value">1</span>, <span class="ruby-value">2</span>, <span class="ruby-value">3</span>, <span class="ruby-value">4</span>].<span class="ruby-identifier">uniq_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">odd?</span> } <span class="ruby-comment"># =&gt; [1, 2]</span>
</pre>
          

          
          <div class="method-source-code" id="uniq_by-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/uniq_by.rb, line 6</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">uniq_by</span>
  <span class="ruby-identifier">hash</span>, <span class="ruby-identifier">array</span> = {}, []
  <span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">hash</span>[<span class="ruby-keyword">yield</span>(<span class="ruby-identifier">i</span>)] <span class="ruby-operator">||=</span> (<span class="ruby-identifier">array</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">i</span>) }
  <span class="ruby-identifier">array</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- uniq_by-source -->
          
        </div>

        

        
      </div><!-- uniq_by-method -->

    
      <div id="method-i-uniq_by-21" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">uniq_by!</span><span
            class="method-args">() { |i| ... }</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Same as <a href="Array.html#method-i-uniq_by">#uniq_by</a>, but modifies
self.</p>
          

          
          <div class="method-source-code" id="uniq_by-21-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib/active_support/core_ext/array/uniq_by.rb, line 13</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">uniq_by!</span>
  <span class="ruby-identifier">replace</span>(<span class="ruby-identifier">uniq_by</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">i</span>) })
<span class="ruby-keyword">end</span></pre>
          </div><!-- uniq_by-21-source -->
          
        </div>

        

        
      </div><!-- uniq_by-21-method -->

    
    </section><!-- public-instance-method-details -->
  
  </section><!-- 5Buntitled-5D -->

</div><!-- documentation -->


<footer id="validator-badges">
  <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
  <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
  <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
</footer>

